링크 된 기사에서 West가 설명한 "순수 집계"접근 방식은 "엔티티"개체를 완전히 없애줍니다. 메모리에 떠 다니는 구성 요소가 있지만 암시 적 관계에 의해서만 묶여 있습니다.
이를 수행하는 한 가지 방법은 소위 선외 접근입니다. 입니다. 이러한 시스템에서 구성 요소는 구성 요소를 관리하거나 제어하는 시스템에 의해 유지됩니다 (여기서는 "관리"라는 용어를 사용하지만, 보유 할 * Manager 클래스가 많다는 것을 의미하는 것은 아닙니다) 구성 요소 유형). 예를 들어, 물리 시스템은 시뮬레이션 세계에서 각 강체를 나타내는 여러 가지 것들을 유지할 수 있으며 그러한 것들을 PhysicsComponents로 노출시킬 수 있습니다. 구성 요소는 해당 하위 시스템에서 처리하는 실제 개체이거나 필요에 따라 해당 개체의 프록시 일 수 있습니다.
이러한 시스템에서는 반드시 "Entity"클래스가이를 구성하는 컴포넌트에 대한 참조 모음을 보유 할 필요는 없습니다. 대신 "엔티티"의 생성 또는 삭제에 대한 알림이 발생하고 구성 요소를 처리하는 각 하위 시스템은 생성 / 파괴 된 엔터티 (일부 데이터에서로드 됨)에 대한 설명을보고 구성 요소가 필요한지 여부를 결정합니다.
이 접근 방식의 장점 중 하나는 각 구성 요소에 대한 참조 영역이 실제로 우수하다는 것입니다. 불행히도 그것은 이상하고 전반적이며 가장 친숙한 구성 요소 기반 엔터티가 아닙니다. 개체가 다른 하위 시스템에서 여전히 보유하고있는 구성 요소에 대한 약한 참조를 집계 한 경우에도 개체를 나타내는 실제 개체를 갖는 것이 매우 편리한 경우가 있습니다. .
컴포넌트 지향 게임 오브젝트 시스템을 구현하는 몇 가지 좋은 방법이 있습니다. 정말, 정말, 정말 당신이 당신의 시스템에서 원하는 요구 사항의 확고한 생각을 가지고 있으면 도움이 - 당신은 유니티 같은 인기있는 프레임 워크 예제 무엇을 볼 수 있습니다. 엄격한 요구 사항을 설정하지 않으면 시스템을 실제로 구축하지 않고도 끝없이 "디자인"하는 문제가 발생하여 완벽한 구현에 헛되지 않을 수 있습니다. 어떤 이유로 든 나는 컴포넌트 시스템에서 이것을 많이 보았습니다.