設計模式 生成器(Builder)

2021-07-30 14:28:08 字數 808 閱讀 4527

目的:在軟體開發的過程中不可避免地會碰到一些複雜的物件。如果直接去建立這些複雜的物件,會使**變得難於理解和維護,而且對於大多數使用者而言他們並不關心物件各個成員的建立過程。builder的作用就是將物件各個成員的建立和組裝過程分離,根據使用者的需求一步一步建立複雜的物件。使用者只需要指定型別就可以得到對應的複雜物件,其內部的具體構造細節則對使用者透明。

模式的基本構成:

說明:

director 面向使用者的類,使用者用之來建立需要的物件並獲取

builder 物件各個部件的建立者。

concretebuilder builder的子類,運用多型的方式,實現物件部件的擴充套件。

product 最終被建立的物件。

時序圖:

生成器的優點:

1,將部件的建立和組合分離。設計者可以方面的更改部件的建立細節,而不需要使用者做任何更改。可以通過繼承的方式建立全新的product。這些對使用者來說都是透明的。

2,設計者可以做到對物件建立的精細控制。只有當所有的部件全部成功建立完成之後,才能夠返回給使用者完整的物件。

3,對使用者來說,所有的建立過程都是透明的。只需要呼叫建立介面和獲取介面就可以拿到自己想要的物件。

生成器模式 Builder

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

生成器模式 (Builder)

gof意圖 將乙個複雜物件的構建 director 與它的表示 builder 分離,使得同樣的構建過程 director定義的 可以建立不同的表示 builder在組裝的 構建與表示分離 角色 1 builder 為建造者,提供建造part的介面buildpart 建造產品的一部分,獲得建造結果的...

設計模式 建立型 生成器(Builder)

1.意圖 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.結構 3.參與者 builder 為建立乙個product物件的各個部分指定抽象介面 concretebuilder 實現builder的介面以構造和裝配該產品的各個部件。定義並明確它所建立的表示。提供乙個檢索產...