設計模式 1 6建造者模式(生成器模式)

2022-03-12 12:53:00 字數 1186 閱讀 3086

建造者模式:將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程建立不同的表示。

與工廠模式不同,建造者模式是在導向者的控制下一步一步構造產品的。建立者模式可以能更精細的控制構建過程,從而能更精細的控制所得產品的內部結構。

對於客戶來說,只需知道導向者就可以了,通過導向者,客戶就能構造複雜的物件,而不需要知道具體的構造過程。下面給出小人例子的**實現。

1

class

builder 25

virtual

void

buildbody() {}

6virtual

void

buildleftarm(){}

7virtual

void

buildrightarm() {}

8virtual

void

buildleftleg() {}

9virtual

void

buildrightleg() {}

10};

11//

構造瘦人

12class thinbuilder : public

builder

1316

void buildbody()

17void buildleftarm()

18void buildrightarm()

19void buildleftleg()

20void buildrightleg()

21};

22//

構造胖人

23class fatbuilder : public

builder

2427

void buildbody()

28void buildleftarm()

29void buildrightarm()

30void buildleftleg()

31void buildrightleg()

32};

33//

構造的指揮官

34class

director

3540

void

create()

48 };

客戶端:

1

intmain()

2

設計模式 建造者 生成器

生成器模式,也叫建造者模式。有人說後者是想強調該模式重點是強調建造過程,而不是生成。個人比較認同,所以後文也叫建造者模式。建造者模式,主要意圖是將物件的建造於他的表示分離。從而使得同樣的建造過程可以建造出不同的產品。參與者有建造者,導演和具體的產品。舉例說明,我們想生產電腦,電腦就是產品。宣告乙個類...

建造者模式(生成器模式)

1.將複雜的物件的構建與其表示分離,使同樣的構建過程可以有不同的表示 如下 父類抽象,採用模板方法模式,定義一系列演算法,抽象,定義一模板,由sequence 動態決定演算法是否執行 子類將繼承該類並實現3個演算法 abstract class design mode builder pattern...

生成器(建造者)模式

意圖 將乙個複雜物件的構造與它的表示分離,使得同樣的構建過程可以建立不同的表示。情景 生產不同規格的電腦。規格一,規格二 關鍵點 product 具體產品 表示被構造的複雜物件。builder 抽象構建產品 為建立乙個產品物件的各種部件指定抽象介面。builderimpl 抽象構建的具體實現 實現b...