CHAPTER 10 데커레이터 패턴 - daybreak6/java-design-pattern GitHub Wiki
데커레이터 패턴은 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우에 각 추가 기능을 Decorator 클래스로 정의한 후 필요한 Decorator 객체를 조합함으로써 추가 기능의 조합을 설계하는 방식이다.
- Component:기본 기능을 뜻하는 ConcreteComponent와 추가 기능을 뜻하는 Decorator의공통 기능을 정의한다. 즉,클라이언트는Component를 통해 실제 객체를 사용한다.
- ConcreteComponent:기본 기능을 구현히는 클래스다.
- Decorator:많은수가존재하는구체적인 Decorator의공통기능을제공한다.
- ConcreteDecoratorA, ConcreteDecoratorB:Decorator의 하위 클래스로 기본 기능에 추가되는 개별적인 기능을 뜻한다.