<?php
/*
* 生成器模式
* 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.
* 为了将构建复杂对象的过程和它的部件解耦,非常类似抽象工厂模式
*/
/**
* 餐厅员工
*/
class ConcreteBuilder{
public function __construct(){}
//添加汉堡包
public function BuildHamb(){
}
//添加可乐
public function BuildCoke(){
}
//添加薯条
public function BuildChip(){
}
//返回结果
public function getProduct(){
}
}
/**
* 顾客
*/
class Director{
private $ConcreteBuilder = null;
//通知员工
public function __construct(ConcreteBuilder $ConcreteBuilder){
$this->ConcreteBuilder = $ConcreteBuilder;
}
//A套餐
public function Apackages(){
$this->ConcreteBuilder->BuildHamb();
$this->ConcreteBuilder->BuildCoke();
$this->ConcreteBuilder->BuildChip();
}
//B套餐
public function Bpackages(){
$this->ConcreteBuilder->BuildHamb();
$this->ConcreteBuilder->BuildCoke();
}
}
$ConcreteBuilder = new ConcreteBuilder();
$director = new Director($ConcreteBuilder);
//顾客要A套餐
$director->Apackages();
//顾客要B套餐
$director->Bpackages();
?>
建造器模式
最新推荐文章于 2024-07-18 17:34:43 发布