建造者模式(生成器模式)

2021-08-25 23:38:59 字數 1232 閱讀 9190

1.將複雜的物件的構建與其表示分離,使同樣的構建過程可以有不同的表示

**如下

//父類抽象,採用模板方法模式,定義一系列演算法,抽象,定義一模板,由sequence 動態決定演算法是否執行

//子類將繼承該類並實現3個演算法

abstract class design_mode_builder_pattern_model

//定義的模板方法

final public void design_mode_builder_pattern_model_method_transfer ()

// 建造者1

class design_mode_builder_pattern_model_class_1_builder extends design_mode_builder_pattern_model_builder

public void setsequence(arraylistsequence)

}// 建造者2

class design_mode_builder_pattern_model_class_2_builder extends design_mode_builder_pattern_model_builder

public void setsequence(arraylistsequence)

}// 導演類,定義各模型的內部實現等

class design_mode_builder_pattern_model_director

// 構造模型2

public design_mode_builder_pattern_model_class_1 getmodel1_1()

// 構造模型3

public design_mode_builder_pattern_model_class_2 getmodel2_1()

// 構造模型4

public design_mode_builder_pattern_model_class_2 getmodel2_2()

}// 測試類

class design_mode_builder_pattern_model_client

// 第2個構造

for (int i=0;i<5 ;i++ )

// 第3個構造

for (int i=0;i<5 ;i++ )

// 第4個構造

for (int i=0;i<5 ;i++ )

} }

生成器(建造者)模式

意圖 將乙個複雜物件的構造與它的表示分離,使得同樣的構建過程可以建立不同的表示。情景 生產不同規格的電腦。規格一,規格二 關鍵點 product 具體產品 表示被構造的複雜物件。builder 抽象構建產品 為建立乙個產品物件的各種部件指定抽象介面。builderimpl 抽象構建的具體實現 實現b...

生成器模式(建造者模式 Builder)

設計模式系列 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。為建立乙個product物件的各個部件指定抽象介面 實現builder的介面以構造和裝配該產品的各個部件 定義並明確它所建立的表示 提供乙個檢索產品的介面 構造乙個可以使用builder介面的物件 表示被構造的複...

建造者模式,即生成器模式

解釋 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不用的表示。結構圖 優點 可以將乙個產品的內部表象與產品的生成過程分割開來,從而可以使乙個建造過程生成具有不同的內部表象的產品物件。使得建造 與表示 分離,由於建造者隱藏了該產品是如何組裝的,所以如需要改變乙個產品的內部,只需要再定...