【发布时间】:2012-10-16 03:13:45
【问题描述】:
我正在用 Java 构建一个模拟。因此,我将模拟分为两部分:
1) 仿真引擎
2) 仿真模型
基本上我想要一些关于如何拆分它的帮助(提示/建议),即去哪里。
所以我认为引擎会跟踪时间。它会监听事件,当事件到达时它会更新模拟的状态(我正在构建一个离散事件模拟)。仿真模型将具有 GUI,它将从实际引擎中获取逻辑和数据。我认为该模型将提供实际事件作为引擎的输入。我一直在考虑一个汽车类比,其中发动机是汽车的车身,模型是驾驶员。所以我希望它表现得像司机(模型)告诉汽车(引擎)做什么,即什么时候转弯,什么时候休息,以什么速度行驶等等
您认为我以正确的方式解决这个问题吗?我能感觉到我听起来有点混乱,而且不是很清楚。所以我要澄清一下,我正在寻找的只是一些关于我应该如何拆分它以及引擎和模型的实际职责应该是什么的输入。
另外,我想知道,如果我要实现 MVC 设计模式,这将如何适应我试图打破它的方式?
编辑:
模型是指我希望模拟具有一组特定的规则,然后引擎会遵循这些规则。当我正在构建一个道路交通模拟器时,规则可能是,汽车的分布,驾驶员资料,汽车可以做什么和不可以做什么(例如红灯停车)等。所以模型就像“大脑”如果你明白我的意思,那么模拟,然后引擎是模型指定的一组“规则”的实际模拟。我希望这更有意义。
【问题讨论】:
-
你想模拟什么?将“引擎”与“模型”分开是没有意义的(除非您正在为成千上万的用户和数百万用户构建一个非常通用的框架)。另外,我可以看到您没有对“模型”一词应用一致的定义。请从描述问题的物理原理开始。
-
很抱歉。请查看编辑
标签: java model-view-controller design-patterns simulation oop