Observer 패턴은 한 객체(subject)가 상태를 변경할 때 여러 객체(observer)가 자동으로 통지받는 일대다(one-to-many) 의존성을 정의합니다. 분리된 이벤트 기반 통신을 가능하게 하며 — UI, 이벤트 시스템, 반응형 프로그래밍에서 널리 사용됩니다.
Observer 패턴이 하는 일
OBSERVER → SUBJECT가 OBSERVER 목록을 유지하고 상태 변경 시 그들에게 통지함:
→ observer가 subject를 구독(subscribe)함
→ subject가 변경되면 → 구독한 모든 observer에게 자동으로 통지함
→ observer는 통지에 반응함 (스스로를 갱신)
→ 일대다: 하나의 subject, 여러 observer; 분리됨(subject는 observer 세부사항을 모름)
예시
{
observers = [];
() { ..(obs); }
() { ..( obs.(data)); }
}
subject.({ : .(, data) });
subject.();
