设计模式(九)——装饰者模式(io源码分析)

1 星巴克咖啡订单项目(咖啡馆):

1) 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡)

2) 调料:Milk、Soy(豆浆)、Chocolate

3) 要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便

4) 使用 OO 的来计算不同种类咖啡的费用:  客户可以点单品咖啡,也可以单品咖啡+调料组合。

方案 1-解决星巴克咖啡订单项目

设计模式(九)——装饰者模式(io源码分析)

 

方案 1-解决星巴克咖啡订单问题分析

1) Drink 是一个抽象类,表示饮料

2) des 就是对咖啡的描述, 比如咖啡的名字

3) cost() 方法就是计算费用,Drink 类中做成一个抽象方法.

4) Decaf 就是单品咖啡, 继承 Drink,  并实现 cost

5) Espress && Milk 就是单品咖啡+调料, 这个组合很多

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgpwy.html