상세 컨텐츠

본문 제목

ch6.19 데코레이터 패턴을 활용한 커피 머신 프로그램(decorator)

패캠스프링/part2_java

by hippo0207 2022. 7. 15. 15:45

본문

Decorator Pattern

  • 자바의 입출력 스트림은 decorator pattern 임
  • 여러 decorator들을 활용하여 다양한 기능을 제공
  • 상속 보다 유연한 구현 방식
  • 데코레이터는 다른 데코레이터나 또는 컴포넌트를 포함해야 함
  • 지속적인 기능의 추가와 제거가 용이함
  • decorator와 component는 동일한 것이 아님 ( 기반 스트림 클래스가 직접 읽고 쓸수 있음, 보조 스트림은 추가적인 기능 제공)

커피를 만들어보아요~

Decorator Pattern을 활용하여 커피를 만들어 봅시다.

아메리카노
카페 라떼 = 아메리카노 + 우유
모카 커피 = 아메리카노 + 우유 + 모카시럽
크림 올라간 모카커피 = 아메리카노 + 우유 + 모카시럽 + whipping cream

커피는 컴포넌트고, 우유, 모카시럽, whipping cream은 모두 데코레이터임

 

// 상위 클래스가 default constructor가 없기때문에 매개변수있는 생성자가 super호출해야함

예제

Etiophia Americano 
Etiophia Americano Adding Milk 
Etiophia Americano Adding Milk Adding WhippedCream

이런식으로 나옴

'패캠스프링 > part2_java' 카테고리의 다른 글

ch 6.21~ thread 메소드들  (0) 2022.07.18
ch6.20~22 thread 스레드  (0) 2022.07.15
ch6.16~ 보조스트림, 직렬화, 그외 여러 입출력클래스  (0) 2022.07.13
6.12 입출력스트림~  (0) 2022.07.12
6.11~ 로그남기기  (0) 2022.07.12

관련글 더보기

댓글 영역