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

2021-08-31 10:38:19 字數 563 閱讀 7635

將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

使得生成器可以隱藏這個產品的表示和內部結構。同時也隱藏了該產品是如何裝配的。

因為產品是通過抽象介面構造的,在改變該產品的內部表示時所要做的只是定義乙個新的生成器。

將構造**和表示**分開,builder模式通過封裝乙個複雜物件的建立和表示方式提高了物件的模組性。

使你可對構造過程進行更精細的控制。builder模式與一下子就生成產品的建立型模式不同,它是在導向者的控制下一步一步構造產品的。僅當該產品完成時導向者才從生成器中取回它。因此builder介面相比其他建立型模式能更好的反映產品的構造過程。

通常情況下,由具體生成器生成的產品,它們的表示相差是如此之大以至於給不同的產品以公共父類沒有太大意思。可以通過介面實現統一。

abstract factory與builder相似,因為它也可以建立複雜物件。主要的區別是builder模式著重於一步步構造乙個複雜物件。而abstract factory著重於多個系列的產品物件(簡單的或是複雜的)。builder在最後的一步返回產品,而對於abstract factory來說,產品是立即返回的。

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

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

建立型模式 生成器 builder

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

生成器模式 Builder

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