php设计模式_简单工厂2
来源:互联网 发布:淘宝实名认证小号 编辑:程序博客网 时间:2024/06/07 22:39
<?phpclass ChinaPizzaA { public function __construct () { print_r('create ChinaPizzaA instance'); } public function cook () { print_r('cooking ChinaA pizza!'); } public function box () { print_r('boxing ChinaA pizza!'); } }
<?phpclass ChinaPizzaB { public function __construct () { print_r('create CHinaPizzaB instance'); } public function cook () { print_r('cooking ChinaB pizza!'); } public function box () { print_r('boxing ChinaB pizza!'); } }
<?phpclass UsPizzaA { public function __construct () { print_r('create UsPizzaA instance'); } public function cook () { print_r('cooking Uspizza!'); } public function box () { print_r('boxing Uspizza!'); } }
<?phpclass UsPizzaB { public function __construct () { print_r('create UsPizzaB instance'); } public function cook () { print_r('cooking UspizzaB!'); } public function box () { print_r('boxing UspizzaB!'); } }
<?phprequire 'ChinaPizzaA.php';require 'ChinaPizzaB.php';require_once 'PizzaStore.php';class ChinaPizzaStore extends PizzaStore { public function createPizza ($type) { $pizza = ''; if ($type == 'PizzaA') { $pizza = new ChinaPizzaA(); } elseif ($type == 'PizzaB') { $pizza = new ChinaPizzaB(); } return $pizza; } }
<?phprequire 'UsPizzaA.php';require 'UsPizzaB.php';require_once 'PizzaStore.php';class UsPizzaStore extends PizzaStore { public function createPizza ($type) { $pizza = ''; if ($type == 'PizzaA') { $pizza = new UsPizzaA(); } elseif ($type == 'PizzaB') { $pizza = new UsPizzaB(); } return $pizza; } }
<?phpabstract class PizzaStore { public function orderPizza ($type) { $pizza = $this->createPizza($type); $pizza->cook(); $pizza->box(); return $pizza; } protected abstract function createPizza ($type) ;}
<?phprequire 'ChinaPizzaStore.php';require 'UsPizzaStore.php';$p_store = new ChinaPizzaStore();$p_store->orderPizza('PizzaA');$p_store = new UsPizzaStore();$p_store->orderPizza('PizzaA');
说明: 采用抽象方法createPizza 让子类的商店去继承 强制让他实现这个方法 从而保持框架低耦合性 可控
阅读全文
0 0
- php设计模式_简单工厂2
- php设计模式_简单工厂
- 设计模式_简单工厂模式(2)
- 大话设计模式_简单工厂模式
- 设计模式_简单工厂模式
- 设计模式02_简单工厂模式
- 设计模式_简单工厂模式
- 1.设计模式_简单工厂模式
- java设计模式_简单工厂模式
- 设计模式_简单工厂模式
- 设计模式_简单工厂模式
- php 设计模式之简单工厂模式
- php设计模式之简单工厂模式
- php设计模式之简单工厂模式
- php设计模式之简单工厂模式
- PHP设计模式系列:简单工厂模式
- PHP设计模式之-----简单工厂模式
- php设计模式-简单工厂模式
- 今日小程序推荐:纸塘-这个"壁池"真高清!
- 简单工厂模式的c++版本
- docker安装pmm监控mysql汇总
- 替换空格
- 极乐科技CEO应邀出席2017微信小程序生态课
- php设计模式_简单工厂2
- 使用VBA实现数据统计
- 第5 章 串
- Java web学习——Spring MVC项目实例,三层架构通过JDBC链接SQLServer2012
- strdup
- Java基础之String,StringBuffer与StringBuilder的区别及应用场景
- HessianPHP_v2.0.3.zip, 在php作客户端,java作服务器端时,使用注意事项:
- 《统计学习》笔记(1)-- 提升方法Adaboost
- 常见小错误之括号