2012-09-17 4 views
1

시뮬레이션 설정에서 여러 연산자가 있습니다. 운영자는 위치, 목표 위치, 작업 및 일부 상태 정보 (예 : 에너지 수준)를 가지고 있습니다. 시뮬레이션은 시뮬레이션 단계를 수행하고 운영자의 목표 위치를 설정해야합니다. 각 시뮬레이션 단계에서 운영자는 자신의 목표 위치로 이동하여 상태 정보를 업데이트하고 작업을 변경해야합니다.시뮬레이션 시나리오에서 비즈니스 로직을 어디에 두어야합니까?

이제 이러한 업데이트 논리를 어디에 둘 것인지 궁금합니다. 운영자 상태를 조작하거나 연산자 클래스에 makeSimulationStep() 메서드를 넣는 서비스 클래스를 사용해야합니까? 한편, 첫 번째 접근법은 어떻게 든 빈혈 도메인 모델이지만, 반면에 두 번째 접근법은 시뮬레이션 관련 작업을 연산자 클래스에 넣는 것처럼 보입니다.

답변

0

이것은 게임 로직과 비슷하지만, Operator 클래스에서 시뮬레이션 단계를 만드는 연산자에 대한 정보를 제공하고이 정보를 Animation 클래스로 어셈블합니다. 이 같은

뭔가 :

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

예, 게임 로직이 더 적절한 용어가 될 수 있습니다. 이 도구는 모니터링 작업에 대한 제어 된 실험에 사용됩니다. 그러나,'drawPosition()'메서드는 모델과 GUI 사이의 분리를 위반한다고 생각합니다. 나는 이것을 위해 관찰자 패턴을 사용할 것이다. – kobo

관련 문제