Java建造者(Builder)模式
1、同样先编写初始接口,因为饭店套餐中包含食物以及饮料,而且可以打包,而食物以及饮料除了打包方式不同其他的基本相同,所以写两个初始接口,一个是早餐接口,一个是打包方式接口(因为打包方式不止一种,所以需要分开,也可以完全独立,但是我懒得弄了)
2、这下我们就可以去扩展这两个接口了
a、首先就是扩展早餐,里面包括了食物和饮料,这里可以用抽象类进行扩展,因为食物也有很多种,而且我在这直接定义了打包方式,袋子打包,也可以不定义
b、其次就是打包方式扩展
3、扩展食物以及饮料抽象类
a、食物
b、饮料
4、新增套餐组合工厂
5、建立套餐选择工厂
6、我们看看结果是什么样子的