나만 이해하도록 불친절하게 작성되어 있습니다.
자세한 내용은 책을 보세요.
Decorator
- 원래의 오브젝트에 장식(덧붙이기)를 계속해서 해나갈 수 있는 패턴으로 장식과 내용물을 동일시 한다는 점에서 Composite 패턴과 유사하다.
- 차이점은 구상 클래스가 Leaf, Composite 두 유형이 아니라 ConcreteDecorator 하나이다. (물론 실제 구상 클래스는 여러 개) 뿐만 아니라 Decorator-ConcreteDecorator보다 한 단계 더 위가 있는데 (여기서는 Component) 덕분에 Decorator 계통이 아닌 ConcreteComponent도 있다. 그래서 ConcreteComponent가 장식물들 가장 안쪽의 내용물이 된다.
- [예제] StringDisplay(=ConcreteComponent)를 ConcreteDecorator인 SideBorder, FullBorder들이 겹겹이 둘러싸아 장식하는 코드
댓글 없음:
댓글 쓰기