프로그래밍 연습하기

Decorator Pattern(데코레이터 패턴) 본문

디자인 패턴

Decorator Pattern(데코레이터 패턴)

john.k 2020. 8. 1. 20:19
반응형

데코레이터 패턴은 객체에 동적으로 새로운 기능을 추가해줄 수 있게 합니다.

이 방법은 서브클래스를 생성하는 것 보다 유연합니다.

객체를 생성하면서 데코레이터로 감싸주면서 새로운 기능을 추가할 수 있습니다.


컴포넌트를 만들고 그것을 데코레이터를 만듭니다.

데코레이터가 컴포넌트를 상속하는 이유는 형식을 그대로 유지하기 위해서 입니다.

실제 컴포넌트와 데코레이터는 각각을 상속하여 작성하고,

컴포넌트를 데코레이터로 감싸면서 원하는 기능을 추가하게 됩니다.

 

단점은 클래스들이 많아지면서 쉽게 이해하기 힘들어질 수 있다는 점,

그리고 구성 요소의 특정 형식에 의존하는 경우에는 사용하기 힘듭니다.

코드가 복잡해지는 문제는 팩토리나 빌더 패턴을 통하여 개선할 수 있습니다.

 

참고 자료 - Head First Design Pattern

 

반응형

'디자인 패턴' 카테고리의 다른 글

Singleton Pattern(싱글턴 패턴)  (0) 2020.08.06
팩토리 패턴  (0) 2020.08.06
Observer Pattern(옵저버 패턴)  (0) 2020.07.30
Strategy Pattern(스트래티지 패턴)  (0) 2020.07.30
Comments