大話設計模式 建造者模式

2021-07-09 04:18:14 字數 3138 閱讀 3789

我們在建造的過程是基本穩定的,不需要大變動,只要是人這個類不管是胖瘦,都得有頭身手腳。但是具體的一些細節是不同的,有高矮胖瘦、長腿長胳膊,對於使用者來說他最終要的是結果,你只管建就可以了,在這樣的需求下我們要將這個複雜物件的構建和其表示分離開來,使得同樣的構建過程能創造更多的表示方法,滿足不同使用者的需求。

1

、定義建造者模式(

builder

)將複雜的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。

2

、使用頻率

中低3

、原型模式應用

在軟體系統中,有時候面臨乙個複雜物件的建立工作,該物件通常由各個部分子物件用一定的演算法構成,或者按一定的步驟組合而成;這些演算法和步驟是穩定的,而構成這個物件的子物件卻經常由於需求的變化而不斷變化。

生活中的例子,要組裝一台電腦,它的組裝過程基本是不變的,都可以由主機板、

cpu、記憶體等按照某個穩定方式組合而成。然而主機板、

cpu、記憶體等零件本身都是可能多變的。將記憶體等這種易變的零件與電腦的其他部件分離,實現解耦合,則可以輕鬆實現電腦不斷公升級。

4

、建造者模式結構圖

、建造者模式參與者:

1.builder

:為建立乙個

product

物件的各個部件指定抽象介面;

2.concretebuilder 具體實現如何畫出小人的頭身手腳個部分。

具體建造者;實現builder介面;構建和裝配各個配件。

3.director

:指揮者,根據使用者的需求構建小人物件。

構造乙個使用builder介面的物件;

4.product 具體的產品角色;

包含定義組成部件的類,包括將這些部件裝配成最終產品的介面

在建造者模式中,

director

規定了建立乙個物件所需要的步驟和次序,

builder

則提供了一些列完成這些步驟的方法

concretebuilder給出了這些方法的具體實現,是物件的直接建立者。

建造者模式基本**:

product類-產品類-多部件組成

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace designpatterns.builderpattern.structural

public void show()}}

}

builder類-抽象的建造者類,產品有parta和partb組成,並且生命乙個得到產品建造結果的getresult.

builder.cs  //

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace designpatterns.builderpattern.structural

}

concretebuilder1-具體建造者類

concretebuilder1.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace designpatterns.builderpattern.structural

public override void buildpartb()

public override product getresult()}}

concretebuilder2-具體建造者類

concretebuilder2.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace designpatterns.builderpattern.structural

public override void buildpartb()

public override product getresult()}}

director-指揮類

director.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace designpatterns.builderpattern.structural}}

客戶端** ,客戶完全不知建造的過程

static void main(string args)}}

總結:建造者模式(builder pattern),將乙個複雜物件的構建與它的表示分離,使的同樣的構建過程可以建立不同的表示。實現最快捷的組裝,提出需求能很快的做出對應產品。建造者模式的本質是使組裝過程在黑箱中操作,我們不用去關心每個元件是如何組裝的,只需要做好各部分的工作就能收穫產品。

大話設計模式 建造者模式

1 建造者模式 builder 又叫生成器模式,它是將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的比奧斯。如果我們用了建造者模式,那麼使用者就只需指定需要建造的型別就可以得到它們,而具體建造的過程和細節就不需知道了。2 建造者模式 builder 結構圖 3 建造者模式主要是用...

《大話設計模式》 建造者模式

題目 建造兩個產品,這兩個產品都有兩個部件 abstract class builder public class concretebuilder1 extends builder override public void buildpartb override public product get...

建造者模式 大話設計模式

在今天,讀書有時是件 麻煩 事。它需要你付出時間,付出精力,還要付出乙份心境。僅以 大話設計模式 來祭奠那逝去的 建造者模式 將乙個複雜物件的構建與它的表示分離,使得同樣的建造過程可以建立不同的表示 1.建造者模式應用 一家服裝廠,經理老張,員工兩名 乙個師傅老王,乙個徒弟小海 客戶跟老張聯絡,要做...