建立型-建造者模式(Builder)
阿新 • • 發佈:2020-11-27
介紹
建造者模式(又叫生成器模式)是一種建立型設計模式,使你能夠分步驟建立複雜物件。該模式允許你使用相同的建立程式碼生成不同型別和形式的物件。
應用例項:1、去肯德基,漢堡、可樂、薯條、炸雞翅等是不變的,而其組合是經常變化的,生成出所謂的"套餐"。 2、JAVA 中的 StringBuilder。
我們假設一個快餐店的商業案例,其中,一個典型的套餐可以是一個漢堡(Burger)和一杯冷飲(Cold drink)。漢堡(Burger)可以是素食漢堡(Veg Burger)或雞肉漢堡(Chicken Burger),它們是包在紙盒中。冷飲(Cold drink)可以是可口可樂(coke)或百事可樂(pepsi),它們是裝在瓶子中。
我們將建立一個表示食物條目(比如漢堡和冷飲)的Item介面和實現Item介面的實體類,以及一個表示食物包裝的Packing介面和實現Packing介面的實體類,漢堡是包在紙盒中,冷飲是裝在瓶子中。
然後我們建立一個Meal類,帶有Item的ArrayList和一個通過結合Item來建立不同型別的Meal物件的MealBuilder。BuilderPatternDemo類使用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/