Decorator

    [GoF Design Patterns] Decorator

    [GoF Design Patterns] Decorator

    오늘 알아볼 패턴은 Decorator입니다.Wrapper라고도 알려져있는데요. 이전에 알아본 Adapter 패턴도 Wrapper라고 불렸습니다.두 패턴 모두 Wrapper불리는 이유와 어떤 차이점 있는지도 알아보도록 합시다.1. 목적객체들을 특수 Wrapper 객체들 내에 넣어서 새로운 동작을 추가할 수 있도록 하는 패턴입니다.2. 문제 상황어떠한 프로그램에서 사용자에게 중요한 이벤트를 알려주는 알림 라이브러리를 개발하고 있다고 가정합시다.초기에는 몇 개의 프로퍼티와 하나의 생성자 그리고 send라는 메서드를 갖는 Notifier 클래스가 있었습니다.send 메서드는 클라이언트로부터 메세지를 인자로 받은 후 Notifier의 생성자를 통해 Notifier에게 전달된 이메일 목록으로 알림을 보냅니다.클라이..