728x90
반응형
데코레이터 패턴은 객체에 추가 요소를 동적으로 더할 수 있으며 서브클래스를 만들 때보다 훨씬 유연하게 기능을 확장할 수 있다.
커피 종류, 추가 메뉴에 따른 총 가격을 출력해보자.
구조는 아래와 같다.
계속 감싸는 방식이라고 볼 수 있다.
파일 구조
더보기
Beverage.cs
- Beverage : component 역할을 함
- CondimentalDecorator : decorator의 객체
Coffee.cs
- Espresso
- DarkRoast
- HouseBlend
- Decaf
Additional.cs
- Milk
- Mocha
- Soy
- Whip
Decorator.cs
- Run : 커피주문!!
코드에는 추가로 size에 따라 추가메뉴의 가격이 달라지는 것을 반영하였다.
코드는 git에서 확인!
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 |