서로를 필요로하는 2 개의 수업을 갖는 것이 나쁜 디자인입니까?
약간의 Code Smell 이지만, 그대로 둘 수 있습니다. 이것이 더 쉽고 빠른 게임 시작 및 실행 방법이라면 사용하십시오. 그러나 어느 시점에서 리팩토링해야 할 가능성이 높기 때문에 명심하십시오.
C ++의 경우 순환 종속성은 그렇게 쉽게 컴파일되지 않으므로 컴파일을 수정하는 데 시간을 소비하는 대신 제거하는 것이 좋습니다.
좀 더 의견 이 있으시면 SO에 대한 이 질문을 참조하십시오 .
[나의 디자인]을 나쁜 디자인이라고 부릅니까?
아니요, 모든 것을 한 클래스에 넣는 것보다 낫습니다.
그렇게 크지는 않지만 실제로 본 대부분의 구현에 매우 가깝습니다. 일반적으로 게임 상태에 대한 관리자 클래스 ( 주의! )와 렌더러 클래스가 있으며, 싱글 톤 인 것이 일반적입니다. 따라서 순환 종속성은 "숨겨져"있지만 잠재적으로 존재합니다.
또한 의견에서 알 수 있듯이 게임 상태 클래스가 일종의 렌더링을 수행하는 것은 약간 이상합니다. 상태 정보 만 보유해야하며 렌더링은 렌더러 또는 게임 객체 자체의 일부 그래픽 구성 요소에 의해 처리되어야합니다.
이제 최고의 디자인 이있을 수 있습니다 . 다른 답변이 좋은 아이디어를 가져 왔는지 궁금합니다. 아직도, 당신은 아마 당신의 게임에 가장 적합한 디자인을 찾을 수있는 사람 일 것입니다.