我正在用 Java 构建一个模拟。所以,我将把我的模拟分成两部分:
1) 仿真引擎
2) 仿真模型
基本上我想要一些关于如何拆分它的帮助(提示/建议),即去哪里。
所以我认为引擎会跟踪时间。它会监听事件,当事件到达时它会更新模拟的状态(我正在构建一个离散事件模拟)。仿真模型将具有 GUI,它将从实际引擎中获取逻辑和数据。我认为该模型将提供实际事件作为引擎的输入。我一直在考虑一个汽车类比,其中发动机是汽车的车身,模型是驾驶员。所以我希望它表现得像司机(模型)告诉汽车(发动机)做什么,即什么时候转弯,什么时候休息,以什么速度行驶等
你认为我以正确的方式解决这个问题吗?我能感觉到我听起来有点混乱,而且不是很清楚。所以我要澄清一下,我正在寻找的只是一些关于我应该如何拆分它以及引擎和模型的责任实际上应该是什么的输入。
另外,我想知道,如果我要实现 MVC 设计模式,这将如何适应我试图打破它的方式?
编辑:
通过模型,我的意思是我希望模拟具有一组特定的规则,然后引擎会遵循这些规则。当我正在构建一个道路交通模拟器时,规则可能是,汽车的分布,驾驶员资料,汽车可以做什么和不可以做什么(例如红灯停车)等。所以模型就像“大脑”如果你明白我的意思,那么模拟,然后引擎是模型指定的一组“规则”的实际模拟。我希望这更有意义。