將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示 。
其中,director被稱為導向器,它用於指導具體構建者如何構建產品,控制呼叫先後次序,並向呼叫者返回完整的產品類。
注意:
抽象工廠(abstract factory)模式與建造者(builder)模式相似,因為它也能建立複雜物件。
主要的區別是:
public
class
buildexample
}//--------------------------產品-------------------------
class
phone
//--------------------------構建者介面-------------------------
inte***ce
builder
//--------------------------具體的構建者-------------------------
class
redmibuilder
implements
builder
@override
public
void
setram()
@override
public
void
setrom()
@override
public phone getphone()
}//--------------------------引導者-------------------------
class
director
public phone construct()
}
public
class
buildexample
}//--------------------------產品-------------------------
class
phone
public
static
final
class
builder
public builder setram
(string ram)
public builder setrom
(string rom)
public phone build()
}// 省略tostring
}
建立型設計模式 建造者模式
建造者模式的結構 產品角色 抽象建造者 具體建造者 指揮者。相比抽象工廠模式,省掉了抽象產品,多了指揮者。產品class product 抽象建造者 abstract class builder 具體建造者 public class concretebuilder extends builder p...
設計模式 建立型 建造者模式
生產乙個遊戲玩家,遊戲玩家由臉 身體 腿 胳膊組成,組裝時有順序要求 from abc import abcmeta,abstractmethod 產品 class player def init self,face none body none arm none leg none self.fac...
設計模式 建立型 建造者模式
定義 將乙個複雜的物件的構建與它的表示分離,是的同樣的構建過程可以建立不同的表示。場景初始化乙個物件特別複雜,如使用多個構造方法,或者說有很多引數,並且都有預設值時。一般4個以上引數,考慮使用建造者模式建立物件。為什麼使用建造者 當你要呼叫乙個類的建構函式時,你首先要決定使用哪乙個,然後裡面又是一堆...