4.Builder 生成器(創建型模式)

動機(Motivation)
在軟件系統中,有時候面臨着“一個複雜對象”的創建工作,
其通常由各個部分的子對象用一定的算法構成;由於需求
的變化,這個複雜對象的各個部分經常面臨着劇烈的變
化,但是將它們組合在一起的算法卻相對穩定。
如何應對這種變化?如何提供一種“封裝機制”來隔離出“復
雜對象的各個部分”的變化,從而保持系統中的“穩定構建算
法”不隨着需求改變而改變?
意圖(Intent)
將一個複雜對象的構建與其表示相分離,使得同樣
的構建過程可以創建不同的表示。
——《設計模式》GoF

 

Builder 模式的幾個要點
• Builder 模式主要用於“分步驟構建一個複雜的對
象”。在這其中“分步驟”是一個穩定的算法,而復
雜對象的各個部分則經常變化。
• 變化點在哪裏,封裝哪裏—— Builder模式主要在
於應對“複雜對象各個部分”的頻繁需求變動。其
缺點在於難以應對“分步驟構建算法”的需求變動。
• Abstract Factory模式解決“系列對象”的需求變
化,Builder模式解決“對象部分”的需求變化。
Builder模式通常和Composite模式組合使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章