데코레이터1 [디자인패턴] 헤드퍼스트 디자인패턴 Chap.3 (Feat. 데코레이터 패턴) 패턴이 나오게 된 문제 상황 예를 들어 카페에서 판매하는 음료를 표현하고자 할 때, 커피1, 커피2, 커피3, 커피4 이렇게 종류가 있고, 들어갈 추가 요소가 우유, 두유, 모카, 휘핑크림 등이 있다고 하였을 때 위에 말한 요소들의 조합을 모두 서브 클래스로 만든다면 4*2^4 = 64개의 서브 클래스가 생길 것이다. 만약 우유나 두유 등 추가 요소를 한번만 넣거나 마는 것이 아닌 2번 이상 넣을 수 있다고 가정하면 더욱 경우의 수가 늘어날 것이다. Adding Boolean Variables 로 해결한 경우 앞서 말한 예시에서의 추가 요소에 대한 boolean 변수를 만들어 해결하는 방식이다 이러한 경우 음료 클래스에서의 cost() 구현하고 하위 클래스는 cost()를 오버라이드하여 사용한다. => .. 독서 기록/디자인패턴 2022. 11. 1. 이전 1 다음 반응형