이것은 광범위한 질문입니다. 그러나 제 자신의 이해를 위해 나는 그것을 버릴 것이라고 결심했습니다.서로를 알고있는 객체들의 집합
누구나 서로를 알고있는 다양한 물건을 원할 때 디자인을 추천 할 수 있습니까?
인물/커뮤니티 시뮬레이션을 비유로 사용하려면 X가 동적으로 커지고 축소 될 수있는 X 인물 개체가있을 때 적용 할 가장 좋은 패턴은 무엇이며, 각 인물 개체는 다른 물건들?
프로그래밍 구문을 고려하지 않고 각 사람의 관계 (좋아요, 싫어함, 만난적 없음 등)를 나타내는 X 눈금이 X 일 수 있습니다. 기본적으로 코드에서 새로운 개체가 생성 될 때마다 업데이트되는 각 개체 개체와는 별도의 개체로 코드를 구현할 것을 생각했지만 완전히 우아하지 않은 솔루션처럼 보였습니다. 누구든지 여기에 조언이 있습니까?
둘째로, "인벤토리"가있는 사람 또는 가지고 다니는 항목이있는 경우 각 사람의 인벤토리를 클래스의 목록 멤버로 만들 수 있다고 생각했습니다. 이 연결된 목록은 사람이 성장하고 수축하는 대상으로 성장하고 줄어들 것입니다.
사람 개체는 자신이 가지고있는 개체에 대해 쉽게 쿼리 할 수 있지만 그 반대의 경우도 가능한 효율적인 방법을 찾을 수는 없습니다. 즉, 항목을 쿼리하고 해당 항목이있는 사람들을 찾을 수 있기를 원합니다.
나는이 Q-A를 읽었습니다. Game Objects Talking To Each Other .. 그러나 그것이 내 경우에 완전히 적용되는지 확실하지 않습니다.
누구든지 조언을 해줄 수 있습니까?
감사합니다.
- r
사람 -> 개체/개체 -> 사람 성능 문제에 관해서. 왜 각 객체에 대한 사람들의 링크 된 목록을 가지고 있지 않습니까? 따라서 특정 객체를 가진 사람을 확인하려면 해당 객체의 목록을 반복하면됩니다. 이것은 개인의 개체 목록이 업데이트되는 것과 동시에 업데이트 될 수 있습니다. 스파 스 매트릭스 아이디어에서 스파 스 그래프를 사용할 수 있습니다. 누구를 아는 사람인지 알아 보려면 연결된 구성 요소 알고리즘을 사용하십시오. http://en.wikipedia.org/wiki/Connected_component_(graph_theory) – user885074
메모리 내 데이터베이스 - http://en.wikipedia.org/wiki/In- memory_database – selbie
[옵서버] (https://secure.wikimedia.org/wikipedia/en/wiki/Observer_pattern)가 도움이 될 수 있습니다. – cmannett85