저는 자바로 간단한 게임을 프로그래밍하고 있습니다 만, 나는 그것을 깔끔하고 멋진 디자인으로 해킹하려고하지 않고 노력하고 있습니다.OO 게임 디자인 질문
나는 클릭 및 키 누르기를받는 GamePanel
과 모든 엔터티를 포함하고 업데이트를 담당하는 Model
두 클래스가 있습니다. 모델은 사용자의 마우스 위치를 알아야하지만 '올바른'방법으로 결정할 수는 없습니다.
는 Model
모든 Entity
는 내 GamePanel
에 대한 참조를 유지하거나 마지막으로 알려진 마우스 위치를 캐시 정기적으로 GamePanel
에서 업데이트를 받아야합니다. 모델을 만들 때 첫 번째 옵션을 사용하면 GamePanel
에 대한 참조를 제공해야하며 두 번째 옵션을 사용하면 마지막 마우스 위치가 World.update()
메소드의 매개 변수로 전송됩니다.
이러한 솔루션 중 어느 것도 내가 좋아하지 않은 것처럼 보이기 때문에 내가 놓친 올바른 방법이 있는지 궁금합니다.
감사합니다. Ben.
좋은 질문입니다. +1. –
그래서 마우스 위치가 가끔 Observers 나 Event Listeners를 사용해야하는 경우 대부분의 업데이트에서 마우스 위치가 필요하면 모델을 폴링 할 수 있도록 패널에 대한 참조를 제공한다는 의견이 일치한다고 생각하십니까? –