2017-12-07 13 views

답변

1

잘 관찰자 패턴은 하나의 모듈 또는 두 개의 모듈이 될 수 있습니다. 그것은 그렇게 구체적이지 않습니다. 그러나 관찰자 패턴은 두 개의 연관된 클래스가 다른 모듈 또는 하위 시스템에있을 때 주로 유용합니다. Morever는 클래스 간의 상호 연결을 줄이고 객체가 다른 객체의 클래스를 모르고 서로 통신 할 수있게하는 데 사용됩니다.

enter image description here

당신은 이미 내 생각에 따라이 사진을 공부했을 수 있습니다. 여기서 Subject와 Observer는 두 개의 다른 클래스 또는 모듈입니다. Observer는 대부분 추상 클래스이며 ConcreteObserverA 및 ConcreteObserverB는 Observer 클래스의 메서드 인 notify()를 구현하여 각 관찰자에게 알립니다. 마찬가지로 Subject 클래스는 그림과 비슷한 메서드를 처리 할 수 ​​있습니다. 주제 클래스에는 일반적으로 관찰자에게 알리기위한 정보가 포함됩니다.

이렇게하면 모듈을 분할 할 수 있습니다.

또한 Timothy C.Lethbridge와 Robert Lagniere가 저술 한 "Object Oriented Software Engineering"책에서 Observer Pattern에 대해 더 공부할 수 있습니다.

+0

나는 또한 관찰자 패턴이 두 개의 모듈이 그렇다고 말할 수 있다고 생각합니다 (글쎄, 관계없이). 패턴의 본질 관찰자는 "관찰자 패턴은 두 개의 연관된 클래스가 다른 모듈 또는 서브 시스템에있을 때 주로 유용합니다."라는 문구에 있습니다. – Rasul

+0

글쎄, 디자인 원칙은 일반적으로 다양하지만, 구체적이고 구체적 답변이 필요하다면 "관찰자 패턴은 두 모듈로 사용됩니다"라고 말하는 것이 사실입니다. –