php策略模式
2023-09-11 14:22:41 时间
php策略模式
策略模式和工厂模式很像。
工厂模式:着眼于得到对象,并操作对象。
策略模式:着重得到对象某方法的运行结果。
示例:
//实现一个简单的计算器 interface MathOp{ public function calculation($num1,$num2); } //加法 class MathAdd implements MathOp{ public function calculation($num1,$num2){ return $num1 + $num2; } } //减法 class MathSub implements MathOp{ public function calculation($num1,$num2){ return $num1 - $num2; } } //乘法 class MathMulti implements MathOp{ public function calculation($num1,$num2){ return $num1 * $num2; } } //除法 class MathDiv implements MathOp{ public function calculation($num1,$num2){ return $num1 / $num2; } } class Op{ protected $op_class = null; public function __construct($op_type){ $this->op_class = 'Math' . $op_type; } public function get_result($num1,$num2){ $cls = new $this->op_class; return $cls->calculation($num1,$num2); } } $obj = new Op('Add'); echo $obj->get_result(6,2);//8 $obj = new Op('Sub'); echo $obj->get_result(6,5);//1 $obj = new Op('Multi'); echo $obj->get_result(6,2);//12 $obj = new Op('Div'); echo $obj->get_result(6,2);//3
相关文章
- php 适配器模式
- PHP读取日志里数据方法理解
- PHP收藏
- 区别 PHP 的 $_POST、$HTTP_RAW_POST_DATA 和 php://input
- PHP如何自动识别第三方Restful API的内容,自动渲染成 json、xml、html、serialize、csv、php等数据
- 给CentOS6.3 + PHP5.3 安装PHP性能测试工具 XHProf-0.9.2
- PHP函数preg_replace() 正则替换所有符合条件的字符串
- 【转】搞不清FastCgi与php-fpm之间是个什么样的关系?
- PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测
- 2020年PHP 面试问题(二)
- PHP设计模式之策略模式
- php类库PHP QR Code 二维码
- PHP-5.4.4 安装 APC 启东php-fpm 提示
- mysql php nginx 源码包下载地址
- vue+php接口
- php:用数组实现多语言(PHP 7.4.2)
- php类库PHP QR Code 二维码
- CVE-2019-11043(PHP远程代码执行漏洞)复现
- [php-src] 窥探Php内核中的数组与面向对象
- Atitit php pdo的api使用 目录 1.1. PHP PDO简介1 1.2. 若要使用数据库长连接,:PDO::ATTR_PERSISTENT1 2. 其他设置2 2.1. )、P
- atitit..代码生成流程图 流程图绘制解决方案 java c#.net php v2
- paip.php 与js 的相似性以及为什么它们这么烂还很流行。。
- PHP移动互联网开发笔记(2)——变量及常量
- 在vim中 安装php的xdebug和 vdebug插件, 在vim中进行调试php代码
- PHP设计模式-策略模式 转
- php单例模式 (转
- 统计php程序运行时间及设置PHP最长运行时间