책임의 전가 패턴
이걸 이용해서 로거를 만들어 보자
WriteMessage(Info/Debug/Error)
Logger -> Console -> Mail -> File
자기 책임인지 확인하고 다음으로 전달
책임의 전가(Chain of Responsibility)
: 이벤트 발생시 처리되지 않을 경우 다음객체에게 전달하는 패턴
=> 처리할 수 있을 때까지 고리에 따라 이벤트를 전달한다.
이벤트와 이벤트 처리 객체의 결합도를 줄일 수 있다.
자바의 Logger에서도 이렇게 구현됨
또 다른 사용 예
OS X 계열의 GUI 라이브러리(코코아, 코코아 터치)
- Touch 이벤트(Responder Chain)
: MyUIView -> UIView -> MyViewController -> UIViewController -> AppDelegate
MFC의 메뉴 이벤트
: View -> Document -> Frame -> App
이벤트 처리 관련 GoF 디자인 패턴 2가지
- 관찰자 패턴 : 등록된 객체에게 이벤트를 전파
- 책임의 전가 : 자신의 책임이 아니면 다음 객체에게 전달
'Software Design Pattern' 카테고리의 다른 글
브릿지(Bridge) 패턴 (0) | 2017.12.07 |
---|---|
Facade(퍼사드) 패턴 (0) | 2017.12.06 |
Cloneable (0) | 2017.12.06 |
추상 팩토리 패턴 (0) | 2017.12.05 |
데코레이터 패턴 (0) | 2017.12.04 |