简单工厂模式和策略模式结合使用php
程序员文章站
2022-06-02 20:36:49
...
策略模式是有客户端自行实例化算法类的,而简单工厂模客户端只传参数,不关心对象的生成。 结合两种模式,可以在使用策略模式的时候客户端不再生成算法的对象。修改策略模式的配置类即可。 在之前策略模式基础上,修改如下 ?php/* * 策略模式:定义一系列算
策略模式是有客户端自行实例化算法类的,而简单工厂模客户端只传参数,不关心对象的生成。
结合两种模式,可以在使用策略模式的时候客户端不再生成算法的对象。修改策略模式的配置类即可。
在之前策略模式基础上,修改如下
cg = new category_a();break; case 'b': $this->cg = new category_b();break; case 'c': $this->cg = new category_c();break; default: $this->cg = new handel_error();break; } } public function dodo(){ return $this->cg->dosomething();//同一方法作用于不同类的对象,产生不同的结果,这在php中就是多态 } } //客户端调用,由客户自己决定使用哪种策略,即客户自行实例化算法类。区别于简单工厂模式 //简单工厂模式是对象的创建模式,客户端不创建对象,只给出参数,由工厂方法来决定创建哪一个实例 //也就是说,简单工厂模式客户端只传参数,策略模式客户端传算法实例 $m = new context('b'); $m->dodo(); ?>
上一篇: 推荐一个PHP调试工具
推荐阅读
-
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
-
iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
-
Mybaits 源码解析 (十一)----- 设计模式精妙使用:静态代理和动态代理结合使用:@MapperScan将Mapper接口生成代理注入到Spring
-
PHP中“简单工厂模式”实例代码讲解
-
PHP 工厂模式使用方法
-
php策略模式简单示例分析【区别于工厂模式】
-
asp.net core系列 76 Apollo 快速安装模式下填坑和ASP.NetCore结合使用
-
实例解析C#设计模式编程中简单工厂模式的使用
-
PHP设计模式之简单工厂和工厂模式实例分析
-
结合案例深入解析简单工厂模式