主页 > 知识库 > php策略模式简单示例分析【区别于工厂模式】

php策略模式简单示例分析【区别于工厂模式】

热门标签:AI电话机器人OEM贴牌 办理重庆400电话 青白江地图标注 江苏电商外呼系统运营商 聊城电话外呼系统公司 德阳中江如何申请400开头电话 沛县400电话办理 铜川电话机器人价格 智能电话机器人好公司门萨维

本文实例讲述了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数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:
  • 详解SpringBoot结合策略模式实战套路
  • Java如何利用策略模式替代if/else语句
  • Java策略模式实现简单购物车功能
  • 详解Python设计模式之策略模式
  • JavaScript设计模式之策略模式实现原理详解
  • php 策略模式原理与应用深入理解
  • Java利用策略模式优化过多if else代码
  • Spring 环境下实现策略模式的示例

标签:乌鲁木齐 三亚 赤峰 山南 南宁 济宁 迪庆 鹰潭

巨人网络通讯声明:本文标题《php策略模式简单示例分析【区别于工厂模式】》,本文关键词  php,策略,模式,简单,示例,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《php策略模式简单示例分析【区别于工厂模式】》相关的同类信息!
  • 本页收集关于php策略模式简单示例分析【区别于工厂模式】的相关信息资讯供网民参考!
  • 推荐文章