學習設計模式 建造者模式

2021-07-29 18:55:23 字數 508 閱讀 4795

說明:如果你需要將乙個複雜的物件或功能的構建流程和表示分離,使得同樣的構建流程,也可以建立出不同的表示,例如麥當勞做炸東西,炸東西的流程是一樣的,但放入的材料不同,炸出來的東西不一樣(例如雞排、雞腿、雞翅等)

需求:使用者要個炸雞腿

解決方式:

a.      定義乙個產品類(炸東西);

b.      定義乙個構建產品部分或過程的抽象類(炸東西的步驟);

c.      分別根據需求不同,定義兩個產品構建具體類(炸雞排、雞腿);

d.      定義乙個指揮者,定義乙個構建產品的方法,方法內執行構建部分或過程;(操作者開始根據步驟炸東西)

e.      客戶端根據需求宣告乙個產品構建具體類,然後呼叫指揮者構建產品。(使用者開始點炸具體的東西)。

需求變更:炸雞翅

解決方式:

新增乙個炸雞翅產品構建具體類

類圖:

設計模式學習 建造者模式

建造者模式主要用於分離物件的建立和配置。呼叫元件負責提供資料。並負責將配置資料傳遞給建造者。建造者代替呼叫元件去建立響應的物件。好處 何時使用 示例程式 新建乙個名為builder的 osx命令列程式 實現如下 class burger let customername string let veg...

設計模式學習 建造者模式

下面是建造者模式鏈式實現的 省略了getter和setter。使用建造者模式實現computer的例項化 如果使用構造方法初始化,引數將有5個,會使構造方法的使用過於複雜 public class computer override public string tostring public sta...

設計模式 建造者模式

在gof的23種設計模式中對builder pattern的定義是 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。從程式角度來說,就是在基類定義某種事物建立的過程或業務流程,在子類進行重寫或是使用基類方法。這樣建立出來的例項不會因為過程或流程的丟失而使業務失敗。舉例來說,...