建造者模式

2021-07-02 22:57:19 字數 803 閱讀 2693

1、定義:

將複雜的構建過程與其表示相分離。使得有類似構建過程的物件可以共用這個構建過程,並且來建立不同表示。

2、應用:

在軟體系統中,有一些物件是很複雜的,該物件由各個部分子物件用一定的演算法構成,或者由一定的步驟組合而成。這些演算法或者步驟是穩定的,而構成這個物件的子物件常常由於需求的變化而變化。比如組裝電腦,有cpu 記憶體等這些配件穩定的構成,但是構成電腦這個物件的子物件cpu 記憶體等零件本事可以是多變的。為了共用,需要將這些多變的子物件cpu 記憶體等與電腦其他不怎麼變化的部件分離開來,實現解耦合,即可以輕鬆實現電腦的公升級。

3、結構:

首先是電腦這個物件。computer.cs

其次,builder.cs,抽象類用來建立那些多變的部件,當然只是些建立的抽象方法或者介面。

第三,concretebuilder.cs,開始具體的真的建立這些有變化的部件。這個因為需求有多個類,比如低配高配等。並且還有提供乙個檢索product的介面?

第四,director.cs,用來建立computer這個物件。根據需求傳進builder引數。從而重建對應的computer物件。

錯錯錯,只是給定乙個builder,至膝蓋builder的方法而已,只是給定步驟和次序。建立,直接建立還是concretebuilder。

第五,當然是客戶端呼叫了。

在建造者模式中,director規定了建立乙個物件所需要的步驟和次序,builder則提供了一些列完成這些步驟的方法,concretebuilder給出了這些方法的具體實現,是物件的直接建立者。

4.例項:

5.實現要點,應用分析參加上面鏈結,暫時不太好理解。

建造者模式

1.定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.uml 類圖 結構 該結構 演示了複雜物件被一步一步建立的建造者模式。builder pattern structural example using system using system.collection...

建造者模式

軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...

建造者模式

建造者模式將複雜物件的構建和它的表示分離,使同樣的構建過程能夠構建出不同的表示。以乙個建造小人為例子,可以建造2種小人,胖子和瘦子 include using namespace std class builder 抽象建造者類 class buildthinman public builder 瘦...