2013-02-27 5 views
2

"복합"관찰자/관찰 가능을 형성하는 디자인 패턴이 있습니까?
나는 약간의 변화로 청취자에게 통지하는 관찰 가능한 A을 가지고있다.
각 청취자는 관찰 가능하며 자체 청취자에게 통지합니다 (어떤 동작에서는 첫 번째 관찰 가능 통지에 의해 트리거 된 동작을 수행함).
observer/observables의 "chaining"이 디자인으로 괜찮습니까? 아니면 이에 대한 표준 패턴이 있습니까?관찰자/관찰 가능 패턴 연결

+0

이호, 괜찮습니다. JDK7에는 표준 클래스가 없습니다. –

+0

나에게 괜찮아. 내가 궁금하게 생각하는 것은 "멀티 스레딩"태그를 추가했지만 귀하의 게시물에 직접 언급하지 않았다는 것입니다. –

답변

1

언급 한 연결에 대해서는 아무런 차이가 없습니다.

관찰자 패턴의 목적은 대상의 상태가 변경되면 이해 관계자 (청취자/관찰자)에게 변경 사항을 알리고 상태 변경에 따라 청취자가 반응하도록합니다.

청중의 상태 변화가 의도적으로 다른 이해 당사자에 의해 관찰되는 경우 이벤트 게시에 관찰자 패턴을 사용할 수없는 이유가 표시되지 않습니다.

그러나 이것은 단순히 관찰자가 관찰 할 수있는 또 다른 관계입니다. 특별한 "연결"이 일어나지 않습니다.

비트 OT : 체인이라고하는 것이 더 적합합니다 : 관찰 된 객체 O가 리스너 A에게 이벤트 E를 보내고 A는 다른 리스너 B에게 이벤트를 전파합니다. 그러나 논리적으로 그들은 모두 이벤트를 수신합니다 O에서 비롯된 것입니다. 이런 종류의 "연결"은 데코레이터 패턴을 사용하여 수행 할 수 있습니다.

0

클래스는 observer와 subject 인터페이스를 모두 구현해야합니다. Challange는 모든 관찰자를 적절한 대상에 등록합니다.
당신이 필요로하는 것은 Observer 클래스 (link to wiki)에 notify() 방법에 notifyObservers()을 추가하는 것입니다.
알림의 무한 루프를 시작할 수 있습니다. A =>B =>C =>A => ... 등등.