天天看點

設計模式——Builder模式Builder模式

将一個複雜對象的建構過程分離,使得同樣的建構過程可以建立不同的結果。

相同的方法,不同的執行順序,産生不同的結果

多個零件或者部件,可以組裝到一個對象中,産生不同的結果

初始化過程比較複雜,參數較多

舉一個例子,Android對話框,就是Builder模式,像這樣:

本是一個相對複雜的對話框,通過鍊式程式設計建構出來。

我們假設組裝一台寶馬轎車,它有品牌、型号、顔色。

寶馬車

下面是Builder類,用來描述建構一台車需要哪些方法

接下來來實作建構一台寶馬車的Builder

這裡的build方法都傳回自身,用來鍊式調用。

下面來建構一台紅色的3系寶馬轎車

如果你還想給車子添加個HUD、換個真皮座椅,隻需要在Builder裡添加對用的方法,建構的時候設定屬性就可以了。

Builder設計模式具有良好的封裝性,建構者獨立,友善擴充。

不足就是需要建立多個Builder。

繼續閱讀