Java設計模式 建造者模式(Builder)

2021-09-13 18:42:50 字數 1867 閱讀 5874

缺點

抽象建造者角色(builder)

/**

* 抽象建造者角色:這個角色用來規範產品物件的各個組成成分的建造,與業務無關。

* * @author yanbin

* */

public

inte***ce

builder

具體建造者角色(concretebuilder)
/**

* 這個角色在實現抽象建造者角色提供的方法的前提下,達到完成產品組裝,提供成品的功能。

* * @author yanbin

* */

public

class

concretebuilder

implements

builder

public

void

buildpartb()

public

void

buildpartc()

public product buildproduct()

}

產品角色(product)
/**

* 產品物件角色:建造中的複雜物件。它要包含那些定義元件的類,包括將這些元件裝配成產品的介面。 包括產品本身和裝配方法

* * @author yanbin

* */

public

class

product

public

void

setparta

(string parta)

public string getpartb()

public

void

setpartb

(string partb)

public string getpartc()

public

void

setpartc

(string partc)

}

指導者角色(director)
/**

* 指導者角色(也叫上下文):呼叫具體建造者角色以建立產品物件。指導者並沒有產品類的具體知識, 真正擁有產品類的具體知識的是具體建造者物件。

* * @author yanbin

* */

public

class

director

// 將部件parta partb partc最後組成複雜物件

// 這裡是將車輪 方向盤和發動機組裝成汽車的過程

public

void

construct()

}

客戶端
/**

* 建造者模式:將乙個複雜物件的構建與它的表示分離,使得同樣的構建 過程可以建立不同的表示。將構造複雜物件的過程和組成物件的部件解耦。

* 運用場景:本來只由乙個小物件組成的邏輯,後來更改後需要多個小物件組成。 且不能把內部暴露客戶程式。兼得可用性和安全

* 和抽象工廠的區別:將構建複雜物件的過程和它的部件解耦.

* 注意:是解耦過程和部件。

* 建造者多出乙個指導者的角色。建立模式著重於逐步將元件裝配成乙個成品並向外提供成品,而抽象工廠模式著重於得到產品族中相關的多個產品物件

* * 組成:抽象建造者角色,具體建造者角色,指導者角色,產品角色

* * @author yanbin

* */

public

class

builderpattern

}

java設計模式 建造者模式

分為四部分 產品角色,抽象構建者,具體構建者,指揮者 建造者模式 使用者不需要知道具體的構造結構過程,只需要與指揮者進行溝通即可。指揮者根據不同的構建者得到不同的產品。構建者分裝了整個產品的構建,是的產品能夠完整的構建出來。產品角色 public class car 抽象構建者 public int...

Java設計模式 建造者模式

建造者模式就是一步一步的建立乙個複雜的物件,而且允許使用者指定複雜物件的型別和內容。建造者的模式結構一般如下圖所示。builder 類是乙個抽象類,用於定義一些建立子部件的方法,builder類中應該還有乙個 getresult 方法,用於將建立好的部件組裝成乙個產品返回。director 類又稱為...

java設計模式 建造者模式

適用場景 乙個物件有多個子物件構成,我們要建這個物件的時候,需要很多步驟,構建多個子物件,然後再由子物件構成乙個物件,我們就可以考慮用建造者模式 建造者本質 讓建造子物件的builder和裝配物件director解耦,從而建造出複雜的物件 舉個例子 我們來構建乙個電腦物件,它有滑鼠,顯示器,鍵盤等子...