c 設計模式 建造者模式

2021-10-23 06:16:50 字數 954 閱讀 1337

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的 設計模式 可復用物件導向軟體的基礎 中是這樣說的 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。這句話,似懂非懂的。乙個複雜物件的建立,其通常是由很多的子物件構成 如果乙個物件能夠直接就建立好了,那麼也不會稱之為複雜物件。由於專案中需求的變化,這個...