진짜 개발자
본문 바로가기

Software Engineering/디자인패턴(Design Pattern)

옵저버 패턴(Observer Pattern)

728x90

옵저버 패턴이란 


주제(Subject) 객체 에서 상태가 바뀐다면

그것을 구독하고 있는 관찰자(Observer)에게 자동으로 연락을하여 구독자들의 상태를 갱신(Update) 하는 것을 말한다.



*장점과 특징


 - 상태(데이터)의 주체는 주제(Subject) 객체이다.


 - 주제(Subject) 객체와 관찰자(Observer)가 서로 독립적이다

    ( 주제(Subject) 객체의 변화와 관찰자(Observer)의 변화가 있어도 서로에게는 아무런 영향이 없다 )


 - 고로 추가와 삭제가 용이하다


       


* 소스코드 주소 : https://github.com/galid1/designpatterns/tree/master/src/observerpattern


   => 기상청에 YTN , MBC , JTBC가 기상 정보를 관찰하고 있다가 기상에 변화가 생길때

        예보를 하는 프로그램이다


*소스코드 설명


    *interface


      Observer : Subject의 어떠한 상태를 관찰하는 대상이다 

                   상태에 따라 다른 작업을 수행한다.

 

      Subject : 상태를 가지고 있으며 

                  관찰자(Observer)들이 관찰을 하는 대상 이다.