02. 옵저버 패턴(Observer Pattern)

2017년 1월 13일 금요일

02. 옵저버 패턴(Observer Pattern)


정의
주제 객체의 상태가 바뀔 때 마다 그 객체에 의존하는 모든 Observer객체가 변경 내용을 통지받고 지니고 있던 값을 자동으로 갱신하는 패턴.
 

 
목적
주제 객체의 상태가 변하면 이 객체에 의존하는 모든 Observer 객체들이 해당 상태변화를 통지받아 인지할 수 있도록 객체들 간의 one-to-many 의존관계를 정의
 
Push 방식 주제 객체의 상태가 변경될 때 마다 의존하고 있는 모든 Observer 객체들에게 공지
Pull 방식 주제 객체에 의존하는 Observer가 갱신된 상태에 대한 정보가 필요할 때 getter를 이용하여 주제 객체로부터 갱신된 데이터를 수령
 
장점
주제 객체와 Observer 객체간의 loose coupling을 통해 객체의 변경에 유연하게 대처할 수 있다.
주제 객체에 Observer의 등록/탈퇴가 자유롭다.
 
단점
상태가 변경되었다는 사실만을 주고받기 때문에 여러 주제객체에 의존하는 Observer의 경우 동일한 값의 변경에 대하여 반복적인 갱신이 이루어질 수 있다.

0 개의 댓글 :

댓글 쓰기