实例
我们考虑了一家快餐店的商业案例,其中典型的一餐可能是汉堡和冷饮。汉堡可以是蔬菜汉堡或鸡肉汉堡,并且可以用包装纸包装。冷饮可以是可口可乐或百事可乐,可以装在瓶中。
我们要创建一个项目代表的食品,如汉堡和冷饮和实施具体的类接口项接口和包装占食品和落实具体的类包装接口包装接口汉堡将在包装和冷饮包装将被包装为瓶子。
然后,我们创建一个具有Item的ArrayList的Meal类和一个MealBuilder,以通过组合Item来构建不同类型的Meal对象。BuilderPatternDemo,我们的演示类将使用MealBuilder来构建Meal。
第1步 - 分别创建一个代表食品和包装的接口。 Item.java,Packing.java
第2步 - 创建实现 Packing 接口的具体类。Wrapper.java , Bottle.java
第3步 - 创建实现提供默认功能的item接口的抽象类。 Burger.java , ColdDrink.java
步骤4 - 创建扩展Burger和ColdDrink类的具体类VegBurger.java , ChickenBurger.java, Coke.java, Pepsi.java
第5步 - 创建具有上面定义的Item对象的Meal类。Meal.java
第6步 - 创建一个MealBuilder类,实际的构建器类负责创建Meal对象。 MealBuilder.java
步骤7 - BuiderPatternDemo使用MealBuider演示了生成器模式。BuilderPatternDemo.java
步骤8 - 验证输出。