1. 程式人生 > >設計模式總結之Builder Pattern(建造者模式)

設計模式總結之Builder Pattern(建造者模式)

目錄

建立型設計模式: 結構型設計模式: 行為型設計模式:

Builder Pattern(建造者模式)

意圖

將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

適用性

* 當建立複雜物件的演算法應該獨立於該物件的組成部分以及它們的裝配方式時。
* 當構造過程必須允許被構造的物件有不同的表示時。

結構






參與者:
Builder(抽象建造者角色) 
— 為建立一個Product物件的各個部件指定抽象介面。
ConcreteBuilder(具體建造者) 
— 實現Builder的介面以構造和裝配該產品的各個部件。
— 定義並明確它所建立的表示。
— 提供一個檢索產品的介面。 
Director(導演角色)
— 構造一個使用Builder介面的物件。 
Product(建造的產品)
— 表示被構造的複雜物件。 ConcreteBuilder建立該產品的內部表示並定義它的裝配過程。 
— 包含定義組成部件的類,包括將這些部件裝配成最終產品的介面。 


例子




建造者模式和工廠模式的區別


當創造一個物件需要很多步驟時適合使用建造者模式。
而當只需呼叫一個方法就可以簡單地建立整個物件時適合使用工廠模式。