<aside> 💡 객체에 새로운 책임을 동적으로 추가할 때 사용
</aside>
UML Class Diagram
참여자 | 역할 | 예시 |
---|---|---|
Component | 동적으로 추가할 서비스를 가질 가능성이 있는 객체들에 대한 인터페이스 | 자동차 |
ConcreteComponent | 추가적인 서비스가 실제로 정의되어야 할 필요가 있는 객체 | SM3 |
Decorator | Component 객체에 대한 참조자를 관리하면서 Component에 정의된 인터페이스를 만족하도록 인터페이스를 정의 | GPS 옵션, 시트 옵션 |
ConcreteDecorator | Component에 새롭게 추가될 서비스를 실제로 구현하는 클래스 | 현대 네비게이션, 가죽시트 |