模式簡述
-
對象的創建步驟基本固定,但有多種多樣的形式呈現,以拍電影爲例
導演作爲用戶控制:編寫劇本、拉投資、配置男女主角、開拍 ...;這些過程基本一致
通過buider固定化這些流程,對流程細節進行豐富來展示多樣化的處理
使用目的
建造對象比較複雜,通過builder來控制流程不會出錯
-
通過構建來豐富對象的多樣性,保持了基本的一致,同時也能適應多樣的需求
如Android的對話框設計就是通過建造者模式實現的,通過對對話框的配置,讓它保證了對用戶進行呈現的需求,也可多樣化的配置 交互、呈現UI、操作邏輯等
結構圖
使用設計模式的目的是爲了讓代碼結構清晰,組織簡單,避免過度設計
-
與工廠方法模式的異同
都關心對象的組裝,配置生成但建造模式更看重組裝過程,使用方需要提供細節的補充部分;而工廠模式則需要知道對象的類型即可自行完整對象生成
代碼Demo:建造者模式:導演-電影