[OODP] Observer Pattern

Peace·2021년 5월 10일
0

[OODP] Observer Pattern

Observer pattern이란?

  • observed객체와 observer객체가 존재한다. observed객체에는 여러 개의 observer객체들이 존재한다. 특정 observer객체의 상태가 변했을 때, 연관된 모든 객체에게 해당 객체의 상태가 바꼈다는 것을 observered 객체가 알려주는 패턴이다.
  • Distributed event handling이고, one(observed) to many(observer) mapping이다.

코드 예제


해당 class가 observed class이다.
여기서는 observer들을 모두 list에 저장 해놓고, state가 변경 되엇을때, 모든 observer객체에게 해당 객체의 state가 바뀌었다는 것을 stateChanged를 사용해 알려준다.


해당 예제에서는 IObserver라는 인터페이스를 두고, update를 구현하게 하여, LogSubject에서 stateChanged에서 IObserver 객체들을 update라는 method를 동일하게 사용할 수 있도록 한다. 해당 방법을 polymorphism이라고 한다.

두 class는 IObserver를 implements하여, Observer를 만든 것이다.

REFERENCE

  • OODP 교수님 ppt
profile
https://peace-log.tistory.com 로 이사 중

0개의 댓글

Powered by GraphCDN, the GraphQL CDN