php设计模式 Builder(建造者模式)_php教程-查字典教程网
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教程学习
    编程开发子分类