Java 在模拟场景中,将业务逻辑放在何处?
我在模拟环境中有几个操作符。 操作员有位置、目标位置、任务和一些状态信息(例如,能级)。 模拟应执行模拟步骤并设置操作员的目标位置。 在每个模拟步骤中,操作员应向其目标位置移动,更新其状态信息,并可能更改其任务 现在我想知道这些更新逻辑应该放在哪里。 我应该使用操纵操作员状态的服务类,还是在操作员类中放置Java 在模拟场景中,将业务逻辑放在何处?,java,oop,Java,Oop,我在模拟环境中有几个操作符。 操作员有位置、目标位置、任务和一些状态信息(例如,能级)。 模拟应执行模拟步骤并设置操作员的目标位置。 在每个模拟步骤中,操作员应向其目标位置移动,更新其状态信息,并可能更改其任务 现在我想知道这些更新逻辑应该放在哪里。 我应该使用操纵操作员状态的服务类,还是在操作员类中放置makeSimulationStep()方法? 一方面,第一种方法在某种程度上是一种贫乏的领域模型,但另一方面,第二种方法似乎将模拟相关的任务放在了操作符类中。这似乎更像游戏逻辑,但我将使用操作
makeSimulationStep()
方法?
一方面,第一种方法在某种程度上是一种贫乏的领域模型,但另一方面,第二种方法似乎将模拟相关的任务放在了操作符类中。这似乎更像游戏逻辑,但我将使用操作符类提供有关操作符执行模拟步骤的信息,并在动画类中组合这些信息 大概是这样的:
while (inAnimationLoop) {
for (Operator operator : operators) {
operator.updateSimulation();
operator.drawPosition();
}
}
是的,游戏逻辑可能是一个更合适的术语。该工具将用于监控任务的受控实验。但是,我认为
drawPosition()
方法违反了模型和gui之间的分离。我将使用观察者模式进行此操作。