基本需求: 咖啡的种类有很多种,调料也有很多种,下单时,可以点单品咖啡也可以点单品咖啡+调料的组合,并计算下单时花费的金额 传统方式: 方式一 创建一个抽象类Drink,让所有的单品咖啡和组合咖啡都继承Drink类(组合很多) UML类图 如果新增加一个单品咖啡或者调料,类的数量就会倍增,产生类爆炸 方式二 创建一个抽象类Drink,在Drink类中将所有的调料聚合进去,再让我们的单品咖啡继承Drink类 UML类图 此种方式解决了类爆炸的问题,但是新增或者删除调料时,需要修改Drink类中的内…