php设计模式_简单工厂
来源:互联网 发布:linux终端选项 编辑:程序博客网 时间:2024/05/18 00:18
<?phpclass PizzaA { public function __construct () { print_r('create PizzaA instance'); } public function cook () { print_r('cooking pizza!'); } public function box () { print_r('boxing pizza!'); } }
<?phpclass PizzaB { public function __construct () { print_r('create PizzaB instance'); } public function cook () { print_r('cooking pizza!'); } public function box () { print_r('boxing pizza!'); } }
<?phpclass PizzaStore { public function __construct (SimplePizzaFactory $pizzaFactory) { $this->factory = $pizzaFactory; } public function orderPizza ($type) { $pizza = $this->factory->createPizza($type); $pizza->cook(); $pizza->box(); } }
<?phprequire 'PizzaA.php';require 'PizzaB.php';class SimplePizzaFactory { public function createPizza ($type) { $pizza = ''; if ($type == 'PizzaA') { $pizza = new PizzaA(); } elseif ($type == 'PizzaB') { $pizza = new PizzaB(); } return $pizza; } }
<?phprequire 'PizzaStore.php';require 'SimplePizzaFactory.php';$factory = new SimplePizzaFactory();$p_store = new PizzaStore($factory);$p_store->orderPizza('PizzaA');
说明: 抽象一个披萨工厂的类 专门用来处理生产各种披萨 生产完毕 送到披萨商店 当然这个时候披萨商店要拿到披萨的实例,然后执行披萨自己的一系列操作
工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类
阅读全文
0 0
- php设计模式_简单工厂
- php设计模式_简单工厂2
- 大话设计模式_简单工厂模式
- 设计模式_简单工厂模式
- 设计模式02_简单工厂模式
- 设计模式_简单工厂模式
- 1.设计模式_简单工厂模式
- java设计模式_简单工厂模式
- 设计模式_简单工厂模式
- 设计模式_简单工厂模式
- 设计模式_简单工厂模式(2)
- php 设计模式之简单工厂模式
- php设计模式之简单工厂模式
- php设计模式之简单工厂模式
- php设计模式之简单工厂模式
- PHP设计模式系列:简单工厂模式
- PHP设计模式之-----简单工厂模式
- php设计模式-简单工厂模式
- 理解UIView的绘制
- 从关系型数据库到非关系型数据库
- Zstack使用IAR开发生成Hex文件并且兼容软件仿真
- ScheduledExecutorService与Timer的方法比较
- 添加白名单功能
- php设计模式_简单工厂
- vue响应式原理
- 百度Web生态开花结果:Lavas等多项新技术帮助开发者效率提升
- mac下解决mysql5.7 Plugin 'mysql_native_plugin' is not loaded错误
- 使用拦截器(intercept)和AOP写操作日志-springboot
- 数据结构 资料
- Github:在Github上创建自己的代码仓库
- CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换【转】
- epoll详解【转】