目的:生成器的目的是將復雜物件的創建程序(流程)進行抽象,生成器表現為介面的形式,
如果物件有復雜的繼承樹,理論上創建物件的生成器也同樣具有復雜的繼承樹,
傳進來一個生成器, 我呼叫這個生成器來生成我所需要的汽車,這就是生成器模式的核心.這個生成器Builder是個介面,把復雜物件的創建程序進行抽象
class Director { public function build(Builder $builder): Vehicle { $builder->createVehicle(); $builder->addDoors(); $builder->addEngine(); $builder->addWheel(); return $builder->getVehicle(); } }
這就是生成器這個介面
interface Builder { public function createVehicle(); public function addWheel(); public function addEngine(); public function addDoors(); public function getVehicle(): Vehicle; }
有兩個具體的實作類 CarBuilder TruckBuilder 分別生成汽車和卡車
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/170998.html
標籤:PHP
