建立模式 構造者及生成器模式Builder

2021-12-30 02:26:42 字數 601 閱讀 4740

生成器模式,又稱構造者模式,用於分離複雜物件的構建和表示,通過同樣的構建過程建立不同的表示。實現基本部件不變,組合方式改變。

舉個例子,杯子由杯身和杯蓋組成,有的杯蓋是玻璃的,有的是陶瓷的。首先構造cover父類,及兩個繼承類。建立cupbody類。

class cover

}class glasscover extends cover

}class chinacover extends cover

}class cupbody

}建立cup類,和相應的builder類。

class cup

public function setbody($body)

public function tostring()

}class cupbuilder

public function cupwithchinacover()

}//測試

$cupbuilder = new cupbuilder();

$cup = $cupbuilder->cupwithchinacover();

$cup->tostring();通常情況下,由具體生成器生成的產品,表示差異較大,無需公共父類。

建立模式 生成器模式

生成器模式 builder 將乙個複雜物件的建立與表示分離開 對其複雜的建立過程和部件進行解耦 使同樣的建立過程可以建立不同的表示.如果當你的物件的建立過程可以和每個部件的建立過程分離開 並且可能通過組裝不同的建立部件可以生成不同的物件 就可以使用生成器模式.如同生成乙個汽車 你可以通過不同的組裝方...

建造者模式(生成器模式)

1.將複雜的物件的構建與其表示分離,使同樣的構建過程可以有不同的表示 如下 父類抽象,採用模板方法模式,定義一系列演算法,抽象,定義一模板,由sequence 動態決定演算法是否執行 子類將繼承該類並實現3個演算法 abstract class design mode builder pattern...

建立型模式之建造者模式(生成器模式)

建造者模式,或稱之為生成器模式,是將物件的構造過程從物件的各種表示中分離出來。從而通過建造者組合不同的構造引數,例項化出物件的不同表示。建造者模式和工廠模式的差異 工廠模式 將不同產品類的例項化過程整合成不同的工廠,並不關注某一工廠內的具體構造過程。建造者模式 整合同乙個產品類不同的例項化過程 多個...