옵저버 패턴

옵저버 패턴이란?⌗
객체의 상태 변화를 관찰하는 관찰자들
즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다
메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용 발행/구독 모델로 알려져 있기도 하다
구조⌗
Subject
Observer, 관찰자를 알고 있는 주체
관찰자를 등록하고 제거하는 인터페이스 제공Observer
Subject에서 변화에 대한 신호를 받아 들여 갱신하는 인터페이스 제공
장점⌗
객체간의 결합을 느슨하게 유지할 수 있다 주체와 관찰자간 데이터 교환을 효과적으로 적용할 수 있다
단점⌗
데이터 교환간에 오히려 결합도가 높아질 수 있다
다수의 관찰자에게 데이터 교환시 오히려 상태관리가 힘들어지거나 시스템 전체에 영향을 끼칠 수 있다