第104章(1 / 1)

小A:“那應該如何使用生成器模式?”

大B:“首先假設一個複雜對象是由多個部件組成的,Builder模式是把複雜對象的創建和部件的創建分別開來,分別用Builder類和Director類來表示。”

首先,需要一個接口,它定義如何創建複雜對象的各個部件:

//創建部件A比如創建汽車車輪

//創建部件B比如創建汽車方向盤

//創建部件C比如創建汽車發動機

//返回最後組裝成品結果(返回最後裝配好的汽車)

//成品的組裝過程不在這裏進行,而是轉移到下麵的Director類中進行。

//從而實現了解耦過程和部件

用Director構建最後的複雜對象,而在上麵Builder接口中封裝的是如何創建一個個部件(複雜對象是由這些部件組成的),也就是說Director的內容是如何將部件最後組裝成成品:

//將部件partApartBpartC最後組成複雜對象

//這裏是將車輪方向盤和發動機組裝成汽車的過程

Builder的具體實現ConcreteBuilder,通過具體完成接口Builder來構建或裝配產品的部件,定義並明確它所要創建的是什麼具體東西,提供一個可以重新獲取產品的接口。

//這裏是具體如何構建partA的代碼

};

//這裏是具體如何構建partB的代碼

};

//這裏是具體如何構建partB的代碼

//返回最後組裝成品結果

};

複雜對象:產品Product:

複雜對象的部件:

我們看看如何調用Builder模式:

(本章完)

Tip:移动端、PC端使用同一网址,自动适应,极致阅读体验。