데코레이터
-
[C#] Decorator Pattern프로그래밍/Design Pattern 2020. 11. 6. 13:47
Decorator Pattern 데코레이터 패턴이란 객체의 결합을 통해 기능을 동적으로 유연하게 확장 할 수 있도록 해주는 패턴이다. 즉, 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우에 각 추가 기능을 Decorator 클래스로 정의 한 후 필요한 Decorator 객체를 조합함으로써 추가 기능의 조합을 설계 하는 방식이다. 커피를 예로 들어보자. 커피에는 카페라떼, 에스프레소, 돌체라떼 등등 수많은 종류가 있다. 커피 가격을 계산하는 프로그램을 만들려고 할때, 모든 종류의 커피객체를 만드는 것은 매우 비효율적이다. 이러한 경우에 사용하는 것이 바로 데코레이터 패턴이다. 커피는 종류는 다양하지만 결국 원두에 어떤 첨가물을 넣느냐에 차이다. 이때 우리는 원두를 Component, 첨가물을 Deco..