建造者模式

2021-08-15 22:35:09 字數 959 閱讀 7858

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

uml類圖

在建造者模式中,有4個角色:product產品類,builder抽象建造者,concretebuilder具體建造者,director導演類。產品類通常實現了模板方法模式;抽象建造者規範產品的組建,一般是由子類實現;具體建造者實現抽象類定義的所有方法,並返回乙個組建好的物件;導演類負責安排已有模組的順序,然後告訴builder開始建造,起到封裝作用,避免高層模組深入到建造者內部的實現類。

通用**

產品類:

public

class product

}

抽象建造者:

public

abstract

class builder

具體建造者:

public

class

concreteproduct

extends

builder

//組建乙個產品

@override

public product buildproduct()

}

導演類:

public

class director

}

建造者模式關注的是零件型別和裝配工藝(順序),這是它與工廠方法模式最大不同的地方,兩者注重點不同。

在產品類引入模板方法模式。

參考文獻: 《設計模式之禪》

建造者模式

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

建造者模式

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

建造者模式

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