在仿真场景中将业务逻辑放在何处?

时间:2012-09-17 11:00:05

标签: java oop

我在模拟设置中有几个操作符。 操作员具有位置,目标位置,任务和一些状态信息(例如能量水平)。 模拟应执行模拟步骤并设置操作员的目标位置。 在每个模拟步骤中,操作员应移向目标位置,更新其状态信息并可能更改其任务。

现在我想知道在哪里放这些更新逻辑。 我应该使用一个操作运算符状态的服务类,还是在运算符类中放置makeSimulationStep()方法? 一方面,第一种方法在某种程度上是贫血领域模型,但另一方面,第二种方法似乎将模拟相关任务放在操作员类中。

1 个答案:

答案 0 :(得分:0)

这看起来更像游戏逻辑,但我会使用Operator类提供有关操作员进行模拟步骤的信息,并将此信息组合到Animation类中。

这样的事情:

while (inAnimationLoop) {    
    for (Operator operator : operators) {
        operator.updateSimulation();
        operator.drawPosition();
    }
}