2013-07-14 2 views
3

그래서이 상황에서 사용할 디자인 패턴에 대한 조언을 원합니다. 마우스 움직임, 키 누름 및 기타 이벤트와 같은 사용자 입력을 처리하는이 객체가 있습니다. 나는 특정 사건을 "구독"할 수 있기를 원하는 다양한 유형의 다른 대상들을 가지고있다. 예를 들어, 오브젝트 A는 "a"키 누름을 청취하고, 오브젝트 B는 "b"키 누름을 청취하고자 할 수 있습니다. 두 이벤트는 응용 프로그램에서 이벤트를 확장 할 수 있도록 추상화 된 하나의 InputHandler 객체에서 가져옵니다. 나는 이것을 처리하는 가장 좋은 방법이 무엇인지 궁금 하네. 고려디자인 패턴 - 이벤트 처리

옵션 :

  1. 줄 각 런타임에 특정 인스턴스로 설정되는 InputHandler 객체를 객체. 이벤트를받는 각 객체는 런타임시 InputHandler를 설정해야하므로 각 객체를 추적해야합니다.

  2. 기본 클래스 EventHandler 및 EventHandlerFactory를 만듭니다. 팩토리는 런타임에 InputHandler를 설정할 수 있으며 각 클래스는 InputHandler의 이벤트를 수신하는 EventHandler의 인스턴스를 가져올 수 있습니다. 나는이 선택이 무엇이 잘못된 것인지 정말로 확신하지 못한다. 그러나 그것은 가장 우아한 해결책처럼 보이지 않는다.

모든 의견을 매우 높이 평가합니다.

답변

1

디자인 패턴은 Observer입니다. 이것을 Event Aggregator과 결합하면 필요한 모든 것이 갖추어져 있어야합니다.