目錄
創建型設計模式:
結構型設計模式:
行爲型設計模式:
Builder Pattern(建造者模式)
意圖
將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。適用性
* 當創建複雜對象的算法應該獨立於該對象的組成部分以及它們的裝配方式時。* 當構造過程必須允許被構造的對象有不同的表示時。
結構
參與者:
Builder(抽象建造者角色)
— 爲創建一個Product對象的各個部件指定抽象接口。
ConcreteBuilder(具體建造者)
— 實現Builder的接口以構造和裝配該產品的各個部件。
— 定義並明確它所創建的表示。
— 提供一個檢索產品的接口。
Director(導演角色)
— 構造一個使用Builder接口的對象。
Product(建造的產品)
— 表示被構造的複雜對象。 ConcreteBuilder創建該產品的內部表示並定義它的裝配過程。
— 包含定義組成部件的類,包括將這些部件裝配成最終產品的接口。
例子
建造者模式和工廠模式的區別
當創造一個對象需要很多步驟時適合使用建造者模式。
而當只需調用一個方法就可以簡單地創建整個對象時適合使用工廠模式。