建造者模式
建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
建造者模式结构图:

php实现:
<?php
class Product{
public $part1;
public $part2;
public function setPart1($v){
$this->part1 = $v;
}
public function setPart2($v){
$this->part2 = $v;
}
}
abstract class Builder{
public abstract function BuildPart1($v);
public abstract function BuildPart2($v);
}
class concreteBuilder extends Builder{
private $product;
public function __construct(){
$this->product = new Product();
}
function BuildPart1($v1){
$this->product->setPart1($v1);
}
function BuildPart2($v2){
$this->product->setPart2($v2);;
}
function getProduct(){
return $this->product;
}
}
class Director{
private $builde;
public function __construct(){
$this->builder = new concreteBuilder();
}
function getProductA(){
$this->builder->BuildPart1("a");
$this->builder->BuildPart2("aa");
return $this->builder->getProduct();
}
function getProductB(){
$this->builder->BuildPart1("b");
$this->builder->BuildPart2("bb");
return $this->builder->getProduct();
}
}
class Client{
function run(){
$director = new Director();
$productA = $director->getProductA();
echo $productA->part1;
}
}
Client::run();

浙公网安备 33010602011771号