建造者模式:是將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。
字面看來非常抽象,實際上它也十分抽象!!!!
建造者模式通常包括下面幾個角色:
(1) builder:給出乙個抽象介面,以規範產品物件的各個組成成分的建造。這個介面規定要實現複雜物件的哪些部分的建立,並不涉及具體的物件部件的建立。
(2) concretebuilder:實現builder介面,針對不同的商業邏輯,具體化複雜物件的各部分的建立。 在建造過程完成後,提供產品的例項。
(3)director:呼叫具體建造者來建立複雜物件的各個部分,在指導者中不涉及具體產品的資訊,只負責保證物件各部分完整建立或按某種順序建立。
(4)product:要建立的複雜物件。
在遊戲開發中建造小人是經常的事了,要求是:小人必須包括頭,身體和腳。
下面我們看看如下**:
product(要建立的複雜物件。):
package com.mode.create;
public
class person
public
void
sethead(string head)
public string getbody()
public
void
setbody(string body)
public string getfoot()
public
void
setfoot(string foot)
}
builder(給出乙個抽象介面,以規範產品物件的各個組成成分的建造。這個介面規定要實現複雜物件的哪些部分的建立,並不涉及具體的物件部件的建立。):
package com.mode.create;
public
inte***ce personbuilder
concretebuilder(實現builder介面,針對不同的商業邏輯,具體化複雜物件的各部分的建立。 在建造過程完成後,提供產品的例項。):
package com.mode.create;
public
class
manbuilder
implements
personbuilder
public
void
buildbody()
public
void
buildfoot()
public
void
buildhead()
public person buildperson()
}
director(呼叫具體建造者來建立複雜物件的各個部分,在指導者中不涉及具體產品的資訊,只負責保證物件各部分完整建立或按某種順序建立。):
package com.mode.create;
public
class persondirector
}
測試類:
package com.mode.create;
public
class test
}
執行結果:
回顧:建造者模式:是將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。
java設計模式 建造者模式
分為四部分 產品角色,抽象構建者,具體構建者,指揮者 建造者模式 使用者不需要知道具體的構造結構過程,只需要與指揮者進行溝通即可。指揮者根據不同的構建者得到不同的產品。構建者分裝了整個產品的構建,是的產品能夠完整的構建出來。產品角色 public class car 抽象構建者 public int...
Java設計模式 建造者模式
建造者模式就是一步一步的建立乙個複雜的物件,而且允許使用者指定複雜物件的型別和內容。建造者的模式結構一般如下圖所示。builder 類是乙個抽象類,用於定義一些建立子部件的方法,builder類中應該還有乙個 getresult 方法,用於將建立好的部件組裝成乙個產品返回。director 類又稱為...
java設計模式 建造者模式
適用場景 乙個物件有多個子物件構成,我們要建這個物件的時候,需要很多步驟,構建多個子物件,然後再由子物件構成乙個物件,我們就可以考慮用建造者模式 建造者本質 讓建造子物件的builder和裝配物件director解耦,從而建造出複雜的物件 舉個例子 我們來構建乙個電腦物件,它有滑鼠,顯示器,鍵盤等子...