php设计模式--策略模式(六)

简介: php设计模式--策略模式(六)

1.策略模式,将- -组特定的行为和算法封装成类,以适应某些特定的上下文环境,这种模式就是策略模式

2.实际应用举例,假如一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告

3.计算器实例

工厂模式和策略模式逻辑上的区别

<?php
//策略模式  做一个计算器
interface Math {
  public function calc($op1 ,$op2); 
}
  class MathAdd implements Math{
    public function calc($op1,$op2) {
      return $op1+$op2; 
    }
  }
  class MathSub implements Math{
    public function calc($op1,$op2) {
      return $op1-$op2 ; 
    }
  }
  class MathMul implements Math{
    public function calc($op1,$op2) {
      return $op1*$op2; 
    }
  }
/* 一般思路,根据传来0P ,制造不对对象,并且调用.
if($_ POST[ 'op']
*/
  class CMath {
    protected $calc = null ;
    public function  __construct($type){
      $calc = 'Math' . $type;
      $this->calc =new $calc();
    }
    public function calc($op1,$op2) {
      return $this->calc->calc($op1, $op2);
    }
  }
  //$type = $_POST['op']; 
  //$cmath = new CMath($type);
  //$cmath->calc($_POST['op1'],_POST['op2']);
  
  $type = 'add';
  $cmath = new CMath($type);
  echo $cmath->calc(3,5);

 

目录
相关文章
|
7天前
|
设计模式 算法 搜索推荐
Java设计模式之策略模式详解
Java设计模式之策略模式详解
|
9天前
|
设计模式 算法
策略模式-大话设计模式
策略模式-大话设计模式
7 0
|
2月前
|
设计模式 算法 Java
Java一分钟之-设计模式:策略模式与模板方法
【5月更文挑战第17天】本文介绍了策略模式和模板方法模式,两种行为设计模式用于处理算法变化和代码复用。策略模式封装不同算法,允许客户独立于具体策略进行选择,但需注意选择复杂度和过度设计。模板方法模式定义算法骨架,延迟部分步骤给子类实现,但过度抽象或滥用继承可能导致问题。代码示例展示了两种模式的应用。根据场景选择合适模式,以保持代码清晰和可维护。
34 1
|
8天前
|
设计模式 存储 算法
PHP中常用的设计模式
设计模式是软件设计中解决问题的常见模式,它们提供了良好的实践,但使用时需注意其可能带来的耦合和测试难度问题。例如,单例模式可能导致全局状态,降低可测试性,而依赖注入可以作为更好的替代方案。
15 4
PHP中常用的设计模式
|
8天前
|
设计模式 数据库连接 PHP
PHP中的面向对象编程与设计模式应用
传统的PHP编程模式在面向对象的趋势下逐渐演进,本文探讨了面向对象编程在PHP中的应用,并深入分析了常用的设计模式如何优化代码结构和可维护性。
|
3天前
|
设计模式 JavaScript 算法
js设计模式【详解】—— 策略模式
js设计模式【详解】—— 策略模式
7 0
|
4天前
|
设计模式 算法 PHP
经验大分享:php常见五种设计模式
经验大分享:php常见五种设计模式
|
4天前
|
设计模式 算法 PHP
经验大分享:php常见五种设计模式
经验大分享:php常见五种设计模式
|
5天前
|
设计模式 缓存 前端开发
现代PHP开发中的设计模式应用与性能优化
本篇文章深入探讨了PHP开发中设计模式的实际应用及其对性能的影响。通过分析具体案例和最新研究成果,文章揭示了合理运用设计模式不仅可以提升代码的可维护性和扩展性,还能在特定场景下优化性能。我们将一起探索如何通过科学方法将设计模式融入日常开发实践,同时保持代码的高效执行。
|
7天前
|
设计模式 算法
设计模式之美—策略模式
设计模式之美—策略模式