객체지향 설계 · 디자인 패턴LESSON 13
Observer 패턴과 이벤트
난이도중급 → 심화
예상 시간65분
선수지식이전 강의
13강. Observer 패턴과 이벤트
1. 이번 강의에서 해결할 문제
Task가 UI·메일·통계를 직접 호출하면 새 후속 동작마다 도메인이 변합니다. Observer도 구독 해제와 호출 순서를 방치하면 더 추적하기 어렵습니다.
2. 학습 목표
3. 핵심 개념
Observer는 사건 발생과 반응 목록을 분리합니다. 사건은 이미 일어난 사실이며 명령과 다릅니다. 동기 콜백은 느린 구독자가 발행자를 막고 재진입을 만들 수 있습니다.
4. 구현
EventBus.h
using Handler = std::function<void(const TaskCompleted&)>;
Subscription subscribe(Handler handler);
void publish(const TaskCompleted& event);
Subscription 소멸자가 자동 해제되게 하고 publish는 콜백 목록의 안전한 복사 또는 수정 규칙을 정합니다.
5. 코드가 동작하는 이유
TaskService는 완료 사실만 발행하고 UI·Notifier는 독립 구독합니다. 구독 토큰이 대상보다 오래 남는 댕글링 캡처를 줄입니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2Observer 패턴과 이벤트 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
13강. Observer 패턴과 이벤트 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.