객체들 사이에 1:N의 의존관계를 정의해 두어, 어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지 받고 자동으로 갱신될 수 있게 만드는 패턴입니다.
Observer를 상속받아서 ConcreteObserver를 구현합니다. 구현한 ConcreteObserver의 notify()는 객체의 상태가 변할 때 이를 반영할 알고리즘을 구현합니다. Subject에 구현해 놓은 ConcreteObserver를 registerObserver(Observer o)를 이용해 observerCollection에 등록합니다. 등록한 ConcreteObserver는 Subject의 notifyObserver()를 통하여 호출됩니다. 즉, 개발자는 각각의 Observer들을 일일이 갱신할 필요없이 Subject에 등록함으로써 한번에 갱신이 가능하도록하는 유용한 디자인 패턴입니다.
'Programming > Patterns' 카테고리의 다른 글
[Pattern]Mediator Pattern (0) | 2013.12.03 |
---|---|
[Pattern]MVVM Pattern (0) | 2013.12.03 |
[Pattern]MVC Pattern과 MVP Pattern 그리고 차이 (0) | 2013.04.10 |
[Pattern]State Pattern과 Strategy Pattern (0) | 2012.10.09 |
[Pattern]Singleton Pattern (0) | 2012.09.21 |