php建造者模式实例,php建造者模式

1.建造者模式简介

建造者模式将一个复杂对象的构造过程与其表现分离,这样,同一个构造过程可用于创建多个不同的表现.

2.源码实现

/*具体产品角色: 鸟类*/

class Bird {

public $_head;

public $_wing;

public $_foot;

public function show()

{

echo "头的颜色: {$this->_head}\n";

echo "翅膀的颜色: {$this->_wing}\n";

echo "脚的颜色: {$this->_foot}\n";

}

}

/*抽象鸟的建造者*/

abstract class BirdBuilder {

protected $_bird;

public function __construct()

{

$this->_bird = new Bird();

}

abstract function BuildHead();

abstract function BuildWing();

abstract function BuildFoot();

public function GetBird()

{

return $this->_bird;

}

}

/*具体鸟的建造者: 蓝鸟*/

class BlueBird extends BirdBuilder {

public function BuildHead()

{

$this->_bird->_head = "Blue";

}

public function BuildWing()

{

$this->_bird->_wing = "Blue";

}

public function BuildFoot()

{

$this->_bird->_foot = "Blue";

}

}

/*指挥者*/

class Director {

function Construct($_builder)

{

$_builder->BuildHead();

$_builder->BuildWing();

$_builder->BuildFoot();

return $_builder->GetBird();

}

}

class Client {

public static function main()

{

$director = new Director();

$blue_bird = $director->Construct(new BlueBird());

$blue_bird->show();

}

}

Client::main();

?>

3.运行及其结果

$ php example.php

头的颜色: Blue

翅膀的颜色: Blue

脚的颜色: Blue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值