1. 程式人生 > 實用技巧 >建立型-建造者模式(Builder)

建立型-建造者模式(Builder)

介紹

建造者模式(又叫生成器模式)是一種建立型設計模式使你能夠分步驟建立複雜物件該模式允許你使用相同的建立程式碼生成不同型別和形式的物件

應用例項:1、去肯德基,漢堡、可樂、薯條、炸雞翅等是不變的,而其組合是經常變化的,生成出所謂的"套餐"。 2、JAVA 中的 StringBuilder。

我們假設一個快餐店的商業案例,其中,一個典型的套餐可以是一個漢堡(Burger)和一杯冷飲(Cold drink)。漢堡(Burger)可以是素食漢堡(Veg Burger)或雞肉漢堡(Chicken Burger),它們是包在紙盒中。冷飲(Cold drink)可以是可口可樂(coke)或百事可樂(pepsi),它們是裝在瓶子中。

我們將建立一個表示食物條目(比如漢堡和冷飲)的Item介面和實現Item介面的實體類,以及一個表示食物包裝的Packing介面和實現Packing介面的實體類,漢堡是包在紙盒中,冷飲是裝在瓶子中。

然後我們建立一個Meal類,帶有ItemArrayList和一個通過結合Item來建立不同型別的Meal物件的MealBuilderBuilderPatternDemo類使用MealBuilder來建立一個Meal

生成器模式示例:

執行程式,輸出結果:

Veg Meal
Item : Veg Burger, Packing : Wrapper, Price : 25.0
Item : Coke, Packing : Bottle, Price : 
30.0 Total Cost: 55.0 Non-Veg Meal Item : Chicken Burger, Packing : Wrapper, Price : 50.5 Item : Pepsi, Packing : Bottle, Price : 35.0 Total Cost: 85.5

轉:https://www.runoob.com/design-pattern/builder-pattern.html

轉:https://refactoring.guru/