[디자인패턴] 옵저버패턴(observer pattern)

2016. 11. 25. 20:55프로그래밍/디자인패턴

    목차

옵저버패턴(observer pattern)


옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버들에게 통지하도록 하는 디자인 패턴


  작성형식




  내용


옵저버 패턴을 우리 생활에 적용해 보자면 우리가 홈페이지나 멤버쉽을 가입 후 유용한 정보를 이메일 혹은 문자메시지로 받기를 원하는지 체크하는 항목을 봤던 기억들이 있을 것이다. 아니면 마트나 백화점등 행사에 참여하기 위하여 작성했던 개인 정보 및 홍보성 정보에 수신을 동의

하겠다는 체크 박스 이러한 것들이 우리가 이번에 보고자 하는 옵저버 패턴이라고 보면 되겠다.


옵저버 패턴에 특징이라고 할 수 있는 느슨한 결합은 여러 가지 장점을  가지게 한다.

  • 청취를 할 observer를 언제든지 새로 추가 할 수 있다.
  • 새로운 형식의 observer가 추가 되도 subject를 변경 하지 않아도 된다.
  • observer와 subject는 각각 독립적으로 재 사용 가능하다.
  • 중간에 observer와 subject의 특징이 바뀌더라도 서로 영향이 없다.


/* 주제인터페이스 */ 

옵저버 관리, 활용에 관한 타입 정의

/* 데이터 클래스 */

주제 인터페이스를 구현한 클래스(데이터)

/* 옵저버 인터페이스 */

옵저버들이 구현해야 할 인터페이스

/* 옵저버 구현클래스 */

옵저버 클래스 

/* 실행부 */ 


  참조

http://www.slideshare.net/ssusereb4897/observer-visitor-41023354

http://tiboy.tistory.com/entry/Observer-Pattern