1. 옵저버 패턴
옵저버 패턴은 어떤 객체의 상태가 변할 때
이를 감시하는 다른 객체들에게 알려주는 패턴을 말한다.
2. 옵저버 패턴 구조

- IObserver
- 옵저버 인터페이스
- Subject에서 이벤트 변경시 호출될 함수(Update)를 가지고 있다.
- ObserverA, B
- 옵저버 인터페이스를 구현한 클래스이다.
- ISubject
- 옵저버를 관리하는 인터페이스
- 옵저버를 등록, 삭제, 알림 기능을 함수로 가지고 있다.
- ConcreteSubject
- ISubject를 구현한 클래스이다.
- 옵저버들을 특정 자료구조로 포함하고 있다. (컴포지션 관계)
3. 옵저버 패턴 흐름
- 옵저버 관리 객체를 생성한다. (ISubject)
- 옵저버를 생성한다. (Observer)
- ISubject에 Observer 객체를 등록한다.
- ISubject에서 이벤트가 발생한다.
- ISubject에서 보유하고 있는 Observer 객체들에게 이벤트를 알린다. (Update 함수 호출)
- Observer 객체는 함수가 호출되고 특정 로직을 수행한다.
참고
'Design Pattern' 카테고리의 다른 글
| [Design Pattern] 상태 패턴 (State Pattern) (0) | 2025.04.17 |
|---|---|
| [Design Pattern] 커맨드 패턴 (Command Pattern) (0) | 2025.04.14 |
| [Design Pattern] 퍼사드 패턴 (Facade) (0) | 2025.04.11 |
| [Design Pattern] 프록시 패턴 (Proxy Pattern) (0) | 2025.04.10 |
| [Design Pattern] 어댑터 패턴 (Adapter Pattern) (0) | 2025.04.09 |