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