1、為什麼要使用建造者模式?
抽象工廠模式中可以生產一系列相關的產品,我們利用抽象工廠模式獲取了很多個物件,但是當我們想生產乙個由多個部分組成的複雜物件時,也就是說我們只獲取乙個產品物件,但是這個產品如何構造的客戶端不需要知道,這種情況下就需要使用建造者模式,建造者模式中,抽象建造者類定義生產產品各個部分的方法,具體建造者類負責實現,指揮者類負責定義生產各個部分的順序,**如下:
產品類定義了生產這個產品的各個部分的屬性
class
product
public
string partb
public
string partc
}
抽象建造者類定義了乙個產品物件,定義產品部件的方法、返回產品物件的方法,因為我們需要在具體建造者實現了抽象建造者類中定義的方法之後,返回這個被改變的產品物件(具體建造者類中改變了產品物件)。
abstract
class
abstractbuilder
}
具體建造者類,定義如何建立產品的各個部分
class
concretebuilder
:abstractbuilder
public
override
void
createpartb()
public
override
void
createpartc()
}
指揮者類,指定產品各個部分的建造順序。
class
director
}
客戶端呼叫類,最終獲取經過具體建造者類改造的複雜產品物件。
public
form1()
C 設計模式 建造者模式
本文固定連線 using system using system.collections.generic using system.linq using system.text using system.threading.tasks public void show 抽象建造者類,確定產品有兩個部...
C 設計模式 建造者模式
ifndef builder h define builder h include 說明 乙個複雜物件的建立,其通常是由很多的子物件構成 建造者模式就提供了一種 封裝機制 來將各個物件的變化隔離開,最終,組合成複雜物件的過程是不會變的。定義 建造者模式 將乙個複雜的物件的構建與它的表示分離,使得同樣...
C 設計模式 建造者模式
建造者模式 在gof的 設計模式 可復用物件導向軟體的基礎 中是這樣說的 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。這句話,似懂非懂的。乙個複雜物件的建立,其通常是由很多的子物件構成 如果乙個物件能夠直接就建立好了,那麼也不會稱之為複雜物件。由於專案中需求的變化,這個...