您的当前位置:首页>全部文章>文章详情

php设计模式之建造者模式(builder)

发表于:2019-08-16 10:22:16浏览:54次TAG:
建造者模式主要在于创建一些复杂的对象。将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式。 ```php _parts = array(); } // 添加产品 public function add($part) { return array_push($this->_parts, $part); } } /** * 建造者抽象类 */ abstract class abstractBuilder { // 制造Mac public abstract function buildMac(); // 制造Win public abstract function buildWin(); // 获取结果 public abstract function getResult(); } /** * 具体建造者 * 实现其具体方法 */ class Builder extends abstractBuilder { private $_product; public function __construct() { $this->_product = new Product(); } public function buildMac() { $this->_product->add('MAC'); } public function buildWin() { $this->_product->add('WIN'); } public function getResult() { return $this->_product; } } /** * 主管 */ class Director { public function __construct(Builder $builder) { $builder->buildMac(); $builder->buildWin(); } } // client // 实例化 建造者 对象 $builder = new Builder(); // 实例化 主管 对象 $director = new Director($builder); // 获取结果 $product = $builder->getResult(); var_dump($product->_parts); /** 输出: object(Product)#2 (1) { ["_parts":"Product":private]=> array(2) { [0]=> string(5) "MAC" [1]=> string(5) "WIN" } } */ ?> ``` 输出 ```bash vagrant@vagrant-ubuntu:~$ sudo php builder.php array(2) { [0]=> string(3) "Mac" [1]=> string(3) "Win" } ```
栏目分类全部>
腾讯云采购季云服务器一折促销