建造者设计模式2025年8月18日 | 阅读 10 分钟 构建器模式说,“使用逐步方法从简单对象构建复杂对象” 它主要用于不能一步创建对象的情况,例如复杂对象的反序列化。 构建器设计模式的优势构建器模式的主要优点如下
构建器模式示例的 UML 图![]() 构建器设计模式的示例要创建构建器设计模式的简单示例,您需要遵循以下 6 个步骤。
1) 创建 Packing 接口文件:Packing.java 2) 创建 2 个抽象类 CD 和 Company创建一个将实现 Packing 接口的抽象类 CD。 文件:CD.java 文件:Company.java 3) 创建 Company 的 2 个实现类:Sony 和 Samsung文件:Sony.java 文件:Samsung.java 4) 创建 CDType 类文件:CDType.java 5) 创建 CDBuilder 类文件:CDBuilder.java 6) 创建 BuilderDemo 类文件:BuilderDemo.java 上述示例的输出构建器模式的另一个实际示例构建器模式的 UML 图我们考虑一个必胜客的业务案例,我们可以在那里获得不同种类的披萨和冷饮。 披萨可以是素食披萨或非素食披萨,有多种类型(如芝士披萨、洋葱披萨、玛莎拉披萨等),并且有 4 种尺寸,即小号、中号、大号、特大号。 冷饮可以有多种类型(如百事可乐、可口可乐、激浪、雪碧、芬达、玛萨、利姆卡、Thums-up 等),并且有 3 种尺寸:小号、中号、大号。 ![]() 构建器模式的实际示例让我们逐步看看构建器设计模式的实际示例。 步骤 1:创建一个表示披萨和冷饮的 Item 接口。 文件:Item.java 步骤 2:创建一个将实现 Item 接口的抽象类 Pizza。 文件:Pizza.java 步骤 3:创建一个将实现 Item 接口的抽象类 ColdDrink。 文件:ColdDrink.java 步骤 4:创建一个将扩展抽象类 Pizza 的抽象类 VegPizza。 文件:VegPizza.java 步骤 5:创建一个将扩展抽象类 Pizza 的抽象类 NonVegPizza。 文件:NonVegPizza.java 步骤 6:现在,创建将扩展抽象类 VegPizza 的具体子类 SmallCheezePizza、MediumCheezePizza、LargeCheezePizza、ExtraLargeCheezePizza。 文件:SmallCheezePizza.java 文件:MediumCheezePizza.java 文件:ExtraLargeCheezePizza.java 步骤 7:现在,同样创建将扩展抽象类 VegPizza 的具体子类 SmallOnionPizza、MediumOnionPizza、LargeOnionPizza、ExtraLargeOnionPizza。 文件:SmallOnionPizza.java 文件:MediumOnionPizza.java 文件:LargeOnionPizza.java 文件:ExtraLargeOnionPizza.java 步骤 8:现在,同样创建将扩展抽象类 VegPizza 的具体子类 SmallMasalaPizza、MediumMasalaPizza、LargeMasalaPizza、ExtraLargeMasalaPizza。 文件:SmallMasalaPizza.java 文件:MediumMasalaPizza.java 文件:LargeMasalaPizza.java 文件:ExtraLargeMasalaPizza.java 步骤 9:现在,创建将扩展抽象类 NonVegPizza 的具体子类 SmallNonVegPizza、MediumNonVegPizza、LargeNonVegPizza、ExtraLargeNonVegPizza。 文件:SmallNonVegPizza.java 文件:MediumNonVegPizza.java 文件:LargeNonVegPizza.java 文件:ExtraLargeNonVegPizza.java 步骤 10:现在,创建将扩展抽象类 ColdDrink 的两个抽象类 Pepsi 和 Coke。 文件:Pepsi.java 文件:Coke.java 文件:MediumPepsi.java 文件:LargePepsi.java 步骤 12:现在,创建将扩展抽象类 Coke 的具体子类 SmallCoke、MediumCoke、LargeCoke。 文件:SmallCoke.java 文件:MediumCoke.java 文件:LargeCoke.java 步骤 14:创建一个 OrderBuilder 类,该类将负责创建 OrderedItems 类的对象。 文件:OrdereBuilder.java 步骤 15:创建一个 BuilderDemo 类,它将使用 OrderBuilder 类。 文件:Prototype.java 输出![]() ![]() 下一个主题对象池模式 |
我们请求您订阅我们的新闻通讯以获取最新更新。