-
[Design Pattern] 데커레이터 패턴(Decorator Pattern)Software Engineering 2020. 6. 7. 14:40728x90
Decorator Pattern
- 구조 패턴 중에 하나
- 기본 기능에 추가할 수 있는 많은 종류의 부가 기능에서 파생되는 다양한 조합을 동적으로 구현할 수 있는 패턴
- 객체의 타입과 호출 가능한 메서드를 그대로 유지하면서 객체에 새로운 책임을 추가할 때 사용
역할이 수행하는 작업
- 기본 기능을 뜻하는 ConcreteComponent와 추가 기능을 뜻하는 Decorator의 공통 기능을 정의
- 클라이언트는 Component를 통해 실제 객체를 사용
Componenet
- 기본 기능을 구현하는 클래스
ConcreteComponent
- 많은 수가 존재하는 구체적인 Decorator의 공통 기능을 제공
Decorator
- Decorator의 하위 클래스로 기본 기능에 추가되는 개별적인 기능을 제공
ConcreteDecorator
장점
- 조합과 관계없이 기능의 수와 클래스의 수가 비례
- 프로그램을 실행하는 중에도 동적으로 조합을 구현할 수 있음
728x90'Software Engineering' 카테고리의 다른 글
[Design Pattern] 팩토리 메서드 패턴(Factory Method Pattern) (0) 2020.06.09 [Design Pattern] 템플릿 메서드 패턴(Template Method Pattern) (0) 2020.06.08 [Design Pattern] 옵서버 패턴(Observer Pattern) (0) 2020.06.06 [Design Pattern] 커맨드 패턴(Command Pattern) (0) 2020.06.01 [Design Pattern] 스테이트 패턴(State Pattern) (0) 2020.05.31