建造者模式(Builder Pattern)
2012-06-14 10:45
316 查看
百度词条的解释
http://baike.baidu.com/view/7995255.htm
http://baike.baidu.com/view/7995255.htm
<?php //建造者模式 //产品(套餐)类: class Food { private $food = array(); public function add($strName, $price) { $this->food[$strName] = $price; } public function show() { echo 'Food List:<br/>'; var_dump($this->food); } } class FoodManager { public function __construct(Builder $builder) { //做汉堡 $builder->buildHamb(); //做可乐 $builder->buildCoke(); //做鸡块 $builder->buildChip(); } } abstract class Builder { //做汉堡 public abstract function buildHamb(); //做可乐 public abstract function buildCoke(); //做薯条 public abstract function buildChip(); //返回结果 public abstract function getFood(); } //普通套餐 class NormalBuilder extends Builder { private $normalFood; public function __construct() { $this->normalFood = new Food(); } public function buildHamb() { $this->normalFood->add('NormalHamb','$10.50'); } public function buildCoke() { $this->normalFood->add('CokeCole','$4.50'); } public function buildChip() { $this->normalFood->add('FireChips','$3'); } public function getFood() { return $this->normalFood; } } //黄金套餐 class GoldBuilder extends Builder { private $goldFood; public function __construct() { $this->goldFood = new Food(); } public function buildHamb() { $this->goldFood->add('GoldHamb','$22'); } public function buildCoke() { $this->goldFood->add('CokeCole','$25'); } public function buildChip() { $this->goldFood->add('FireChips','$8'); } public function getFood() { return $this->goldFood; } } //普通套餐 $normalBuilder = new NormalBuilder(); $foodMannager = new FoodManager($normalBuilder); var_dump($normalBuilder); //黄金套餐 $goldBuilder = new GoldBuilder(); $foodMannager = new FoodManager($goldBuilder); var_dump($goldBuilder); ?>
相关文章推荐
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern )
- Java实现(04)——建造者模式(Builder Pattern)
- 六.创建型设计模式——Builder Pattern(建造者模式)
- 建造者模式(Builder Pattern)----设计模式
- 建造者模式(Builder Pattern)
- 23种设计模式之-----建造者模式(Builder Pattern)
- (转载)建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 【设计模式】创建型模式——建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 第3章 建造者模式(Builder Pattern)
- Python实现设计模式--05.建造者模式(Builder Pattern)
- 设计模式-建造者模式(Builder Pattern)
- 我所理解的设计模式(C++实现)——建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 如何使用建造者模式(Builder Pattern)创建不可变类
- 设计模式5:Builder Pattern(建造者模式)
- 如何使用建造者模式(Builder Pattern)创建不可变类
- 建造者模式(Builder Pattern)