缺點
抽象建造者角色(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解耦,從而建造出複雜的物件 舉個例子 我們來構建乙個電腦物件,它有滑鼠,顯示器,鍵盤等子...