建造者(builder)模式,又稱為生成器模式。它是將乙個複雜的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。當採用了建造者模式,使用者就只需要指定需要建造的型別就可以得到想要的最終結果,至於具體的構建過程和構建細節不需要過多知曉。
director:指揮者,主要負責排程builder介面物件,構建成型的產品。
builder:抽象介面,封裝了product各個部件的生產方法和工序。
concretebuilder:具體的構建者,它實現了builder介面,執行具體的構建過程。
product:具體的產品類。
/**
* 角色:product
* 產品類
*/public
class
product
public
void
show() }}
/**
* 角色:builder
* 建造者基類
*/public
inte***ce
builder
/**
* 角色:concretebuilder
* 具體的建造者
*/public
class
concretebuildera
implements
builder
@override
public
void
buildparta()
@override
public
void
buildpartb()
@override
public
void
buildpartc()
@override
public product getfinalproduct()
}
/**
* 角色:concretebuilder
* 具體的建造者
*/public
class
concretebuilderb
implements
builder
@override
public
void
buildparta()
@override
public
void
buildpartb()
@override
public
void
buildpartc()
@override
public product getfinalproduct()
}
/**
* 角色:concretebuilder
* 具體的建造者
*/public
class
concretebuilderc
implements
builder
@override
public
void
buildparta()
@override
public
void
buildpartb()
@override
public
void
buildpartc()
@override
public product getfinalproduct()
}
/**
* 角色:director
* 指揮者
*/public
class
director
}
public
class main
}
建造者的思維模式是將構建的方法和具體的構建操作分離,builder類提供具體的構建方法,director類來負責排程和下達構建指令。這樣的話,可以將產品的結構和產品的零件的建造過程對客戶端隱藏起來,把對建造過程進行指揮的責任和具體建造者零件的責任分割開來,達到責任劃分和封裝的目的。 java設計模式 建造者模式
分為四部分 產品角色,抽象構建者,具體構建者,指揮者 建造者模式 使用者不需要知道具體的構造結構過程,只需要與指揮者進行溝通即可。指揮者根據不同的構建者得到不同的產品。構建者分裝了整個產品的構建,是的產品能夠完整的構建出來。產品角色 public class car 抽象構建者 public int...
Java設計模式 建造者模式
建造者模式就是一步一步的建立乙個複雜的物件,而且允許使用者指定複雜物件的型別和內容。建造者的模式結構一般如下圖所示。builder 類是乙個抽象類,用於定義一些建立子部件的方法,builder類中應該還有乙個 getresult 方法,用於將建立好的部件組裝成乙個產品返回。director 類又稱為...
java設計模式 建造者模式
適用場景 乙個物件有多個子物件構成,我們要建這個物件的時候,需要很多步驟,構建多個子物件,然後再由子物件構成乙個物件,我們就可以考慮用建造者模式 建造者本質 讓建造子物件的builder和裝配物件director解耦,從而建造出複雜的物件 舉個例子 我們來構建乙個電腦物件,它有滑鼠,顯示器,鍵盤等子...