본문 바로가기
Computer Science/디자인패턴

Decorator Pattern

by _S0_H2_ 2022. 9. 6.
728x90
반응형

데코레이터 패턴은 객체에 추가 요소를 동적으로 더할 수 있으며 서브클래스를 만들 때보다 훨씬 유연하게 기능을 확장할 수 있다.

커피 종류, 추가 메뉴에 따른 총 가격을 출력해보자.
구조는 아래와 같다.

계속 감싸는 방식이라고 볼 수 있다.


파일 구조

더보기

Beverage.cs

- Beverage : component 역할을 함

- CondimentalDecorator : decorator의 객체

Coffee.cs

- Espresso

- DarkRoast

- HouseBlend

- Decaf

Additional.cs

- Milk

- Mocha

- Soy

- Whip

Decorator.cs

- Run : 커피주문!!

 

코드에는 추가로 size에 따라 추가메뉴의 가격이 달라지는 것을 반영하였다.

코드는 git에서 확인!

가장 아래것은 사이즈가 VENTI

 

728x90
반응형

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

Command Pattern  (0) 2022.09.28
Singleton Pattern  (0) 2022.09.26
Factory / Factory Abstract Method Pattern  (0) 2022.09.13
Observer Pattern  (0) 2022.08.30
Strategy Pattern  (0) 2022.08.24