저는 현재 간단한 게임을위한 라이브러리를 프로그래밍하고 있습니다. 주로 나 자신이 사용하기위한 것입니다. 이제 문제가 생겼습니다. 엔티티 게임에서의 역할을 각 개체에서 파생해야하는 클래스입니다이벤트를 구독하지 않고 실행합니다.
class Game
{
private List<Entity> entities;
private int counter;
public Game()
{
entities = new List<Entity>();
counter = 0;
}
public AddEntity(Entity entity_)
{
entities.Add(entity_);
// problem! how to inform entity_ that it was added?
counter++;
}
}
: I는 다음과 같습니다 "게임"라는 클래스가 있습니다. 그 내용은별로 중요하지 않습니다. 내가 찾고있는 것은 Game이 새로 추가 된 entity_ class에 소유자 (현재 게임 인스턴스)와 ID ("카운터"가 무엇인지)를 알리는 방법입니다. 이제는 확실히 작동하는 것처럼 "OnAdd (Game owner_, int id_)"메소드를 가진 인터페이스를 사용하려고 생각했지만, 그 이상으로 선호되는 방법이 없는지 확인하고 싶었습니다. 그래서 내 질문 :
인터페이스보다 내 문제에 대한 더 나은 솔루션이 있습니까? Entity 인스턴스는 어떤 게임 인스턴스가 추가되는지 알지 못하며 이벤트와 같은 목적을위한 메소드를 사용하는 것이 내 눈에 띄지 않습니다. 나는 물론 잘못 될 수 있습니다.
Clever. +1 객체 책임의 "뒤집기". – KeithS