4 Builder 生成器(建立型模式)

2021-04-29 15:35:00 字數 649 閱讀 9392

動機(motivation)

在軟體系統中,有時候面臨著「乙個複雜物件」的建立工作,

其通常由各個部分的子物件用一定的演算法構成;由於需求

的變化,這個複雜物件的各個部分經常面臨著劇烈的變

化,但是將它們組合在一起的演算法卻相對穩定。

如何應對這種變化?如何提供一種「封裝機制」來隔離出「復

雜物件的各個部分」的變化,從而保持系統中的「穩定構建算

法」不隨著需求改變而改變?

意圖(intent)

將乙個複雜物件的構建與其表示相分離,使得同樣

的構建過程可以建立不同的表示。

——《設計模式》gof

builder 模式的幾個要點

• builder 模式主要用於「分步驟構建乙個複雜的對

象」。在這其中「分步驟」是乙個穩定的演算法,而復

雜物件的各個部分則經常變化。

• 變化點在**,封裝**—— builder模式主要在

於應對「複雜物件各個部分」的頻繁需求變動。其

缺點在於難以應對「分步驟構建演算法」的需求變動。

• abstract factory模式解決「系列物件」的需求變

化,builder模式解決「物件部分」的需求變化。

builder模式通常和composite模式組合使用。

建立型模式 生成器 builder

將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示.main.cc design patterns builder in the production of mobile phones,for example,now the mobile phone manufacturers...

Builder(生成器) 物件建立型模式

將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。使得生成器可以隱藏這個產品的表示和內部結構。同時也隱藏了該產品是如何裝配的。因為產品是通過抽象介面構造的,在改變該產品的內部表示時所要做的只是定義乙個新的生成器。將構造 和表示 分開,builder模式通過封裝乙個複雜物件的建...

生成器模式 Builder

把複雜的物件的構建與其表示分離開,以便根據程式的需要在相同的建立過程中建立不同的表示。每個生成器必須有乙個相同的方法名稱。client 建立乙個 director 物件,指定乙個 build 物件,配置 director。當 product 需要生成時,director 通知該builder bui...