본문 바로가기

기초탄탄/디자인패턴

옵저버 패턴

Observer Pattern

하나의 관리자 객체가 데이터를 수집하고 변경된 사항을 등록된 객체에게 통지하는 패턴.

(observer의 뜻이 관찰자 인데, 관리자 라는 느낌이 더 맞지 않나?? 흠 일단 관리자로 쓰자.)


java.util 을 사용하여 쉽게 패턴을 만들수 있다.

java.util.Observable(관리자) java.util.observer(관리되어지는 대상)


Observable API 사용시 단점

Observable은 클래스이기에 확장해야만 하고, 재사용성에 제약이 생김.

setChange() 등 함수가 protected로 선언되어 있어 외부에서 호출할 수가 없다.


[참고] java api를 이용한 Observer 패턴

http://hyeonstorage.tistory.com/165


위의 단점을 보완 하기 위해서 Observable을 인터페이스로 구현하자!

--> Observer Interface도 새로 만들어야 함. (update의 Observable을 새로 만들어진 interface로 받아야 하기에)













'기초탄탄 > 디자인패턴' 카테고리의 다른 글

데코레이터 패턴  (0) 2014.08.01