設計模式之建造者模式

2021-06-25 23:57:21 字數 943 閱讀 4477

軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性:封裝、繼承、多型,真正領悟

設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c++寫了個小例子,加深一下理解。主要參考《大話設

計模式》和《設計模式:可復用物件導向軟體的基礎》(dp)兩本書。本文介紹建造者模式的實現。

建造者模式的定義將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示(dp)。《大話設計模式》舉了乙個很好的例子——建造

小人,一共需建造6個部分,頭部、身體、左右手、左右腳。與工廠模式不同,建造者模式是在導向者的控制下一步一步構造產品的。建造小人就是在控制下一步步

構造出來的。建立者模式可以能更精細的控制構建過程,從而能更精細的控制所得產品的內部結構。下面給出建造者模式的uml圖,以建造小人為例項。

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

class builder  

virtual void buildbody() {}

virtual void buildleftarm(){}

virtual void buildrightarm() {}

virtual void buildleftleg() {}

virtual void buildrightleg() {}

};//構造瘦人

class thinbuilder : public builder

};

客戶端呼叫:

int

main()

設計模式之建造者模式

建造者模式也叫生成器模式,是一種物件建立型模式,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承或過載的方式,動態的建立具有復合屬性的物件。應用場景 物件的建立 builder 模式是為物件的建立而設計的模式 建立的是乙個復合物件 被建立的物件為乙個具有復合屬性的復合物件 關...

設計模式之建造者模式

在做服務介面的時候,往往在業務處理之前需要做業務校驗,格式校驗等業務前處理。這些介面有個相同的特徵,就是必須經過這些處理步驟之後才能做核心的業務處理,拓展的服務介面也必須經過這些處理。基於這個特徵,我們就來分析一下設計模式中,建造者模式。我們先建乙個基礎的服務類 public abstract cl...

設計模式之建造者模式

建造者模式又叫生成器模式,定義如下 將乙個複雜物件的構造與它的表示分離,是的同樣的構建過程 可以建立不同的表示 建造者模式的通用類圖如下 如下 public abstract class bulider public class concretebuilder extends bulider ret...