php设计模式 Builder(建造者模式)
作者:bea
代码如下: <?php /** * 建造者模式 * * 将一个复杂对象的构建与它的表示分离,使用同样的构建过程可以创建不同的表示 */ class Product { public $_type = null; public $_size = null; public $_color = null; public function setType($type) { echo "set product type<br/>";
代码如下:
<?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防CC攻击实现代码
- php curl常见错误:SSL错误、bool(false)
- PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
- shopex主机报错误请求解决方案(No such file or directory)
- PHP写UltraEdit插件脚本实现方法
- url decode problem 解决方法
- 最新用php获取谷歌PR值算法,附上php查询PR值代码示例
- 匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
- php操作JSON格式数据的实现代码
- php文件怎么打开 如何执行php文件
- 使用JSON实现数据的跨域传输的php代码
- php自动注册登录验证机制实现代码
- php4与php5的区别小结(配置异同)
- 利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- PHP定时执行计划任务的多种方法小结
- 在WINDOWS中设置计划任务执行PHP文件的方法
- PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
- php中使用DOM类读取XML文件的实现代码