php设计模式 Builder(建造者模式)
php设计模式 Builder(建造者模式)
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:

复制代码 代码如下:

<?php

/**

* 建造者模式

*

* 将一个复杂对象的构建与它的表示分离,使用同样的构建过程可以创建不同的表示

*/

class Product

{

public $_type = null;

public $_size = null;

public $_color = null;

public function setType($type)

{

echo "set product type<br/>";

$this->_type = $type;

}

public function setSize($size)

{

echo "set product size<br/>";

$this->_size = $size;

}

public function setColor($color)

{

echo "set product color<br/>";

$this->_color = $color;

}

}

$config = array(

"type"=>"shirt",

"size"=>"xl",

"color"=>"red",

);

// 没有使用bulider以前的处理

$oProduct = new Product();

$oProduct->setType($config['type']);

$oProduct->setSize($config['size']);

$oProduct->setColor($config['color']);

// 创建一个builder类

class ProductBuilder

{

var $_config = null;

var $_object = null;

public function ProductBuilder($config)

{

$this->_object = new Product();

$this->_config = $config;

}

public function build()

{

echo "--- in builder---<br/>";

$this->_object->setType($this->_config['type']);

$this->_object->setSize($this->_config['size']);

$this->_object->setColor($this->_config['color']);

}

public function getProduct()

{

return $this->_object;

}

}

$objBuilder = new ProductBuilder($config);

$objBuilder->build();

$objProduct = $objBuilder->getProduct();

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类