Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在模拟设置中有几个操作员。操作员具有位置、目标位置、任务和一些状态信息(例如能量水平)。模拟应执行模拟步骤并设置操作员的目标位置。在每个模拟步骤中,操作员都应该向目标位置移动,更新他的状态信息,并可能改变他的任务。
现在我想知道将这些更新逻辑放在哪里。我应该使用操作操作员状态的服务类还是makeSimulationStep()在操作员类中放置方法?一方面,第一种方法在某种程度上是一个贫乏的域模型,但另一方面,第二种方法似乎因为它将模拟相关的任务放在了操作符类中。
makeSimulationStep()
这看起来更像是游戏逻辑,但我会使用 Operator 类来提供有关 Operator 进行模拟步骤的信息,并将这些信息组合到 Animation 类中。
像这样的东西:
while (inAnimationLoop) { for (Operator operator : operators) { operator.updateSimulation(); operator.drawPosition(); } }