設計模式 (4)建造者模式

2022-03-13 04:10:51 字數 875 閱讀 8534

建造者(builder)模式

建造者(builder)模式將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

建造者模式包含乙個抽象的builder類,還有它的若干子類——concretebuilder,關鍵是看指揮官director,director裡面的方法construct()其實包含了builder指標或引用的形參,由客戶端傳入某個 concreatebuilder物件。由多型性可知,客戶端傳進來的concretebuilder是誰,就呼叫誰的方法。

1.隔離了構建的步驟和具體的實現,為產品的具體實現提供了靈活度。

2.封裝和抽象了每個步驟的實現,實現了依賴倒轉原則。

3.封裝了具體的步驟,減少了**的冗餘。

1.要求構建產品的步驟(演算法)是不能劇烈變化的,最好是不變的,這樣就影響了靈活度。

具體**:

//

建造者class

builder;//

具體建造者1

class concretebuilder1: public

builder

void buildpart2()

};//

具體建造者2

class concretebuilder2: public

builder

void buildpart2()

};//

指揮者,注意其方法的引數是抽象建造者的指標

class

director

void

build()

};

客戶使用方法:

int

main()

參考:

設計模式4 建造者模式

首先說說建造者模式要解決乙個什麼樣的問題 流程控制,即保證方法先後順序正確且沒有遺漏.用於靈活指導操作細節.建造者模式包括 乙個導演類 用於規定操作順序 乙個建造者介面 用於規定建造者的操作 具體的建造者 建造者的具體實現類 例如 public class buildertest class fil...

4 設計模式 建造者模式

前段時間一直忙於考證,沒有整理,開啟部落格感覺又好像過了很久的樣子,哎,鬆懈時間過得真快,今天整理一波建造者模式。從字面意思建造者模式更傾向於建造。例如計算機包含滑鼠,鍵盤,耳機,音響,印表機等等硬體裝置。這是乙個相對比較複雜的物件。而我們要建立的是計算機這個整體,如果採用工廠模式就沒那麼專業。因為...

設計模式 4 建造者模式

說明 將很多事情,一件一件的按順序組裝形成,stringbuilding就是建造者模式。場景 當乙個流程由很多功能組成,可以直接使用,然後每個實現就好。實現 public class customer 組裝電腦需要的步驟,這裡只組裝了cpu,硬碟 public abstract class ling...