当前位置: 首页 > 编程笔记 >

PHP实现的策略模式简单示例

汪茂
2023-03-14
本文向大家介绍PHP实现的策略模式简单示例,包括了PHP实现的策略模式简单示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了PHP实现的策略模式。分享给大家供大家参考,具体如下:

比如说购物车系统,在给商品计算总价的时候,普通会员肯定是商品单价乘以数量,但是对中级会员提供8者折扣,对高级会员提供7折折扣,这种场景就可以使用策略模式实现:

<?php
/**
 * 策略模式实例
 *
 */
//抽象策略角色《为接口或者抽象类,给具体策略类继承》
interface Strategy
{
  public function computePrice($price);
}
//具体策略角色-普通会员策略类
class GenernalMember implements Strategy
{
  public function computePrice($price)
  {
    return $price;
  }
}
//具体策略角色-中级会员策略类
class MiddleMember implements Strategy
{
  public function computePrice($price)
  {
    return $price * 0.8;
  }
}
//具体策略角色-高级会员策略类
class HignMember implements Strategy
{
  public function computePrice($price)
  {
    return $price * 0.7;
  }
}
//环境角色实现类
class Price
{
  //具体策略对象
  private $strategyInstance;
  //构造函数
  public function __construct($instance)
  {
    $this->strategyInstance = $instance;
  }
  public function compute($price)
  {
    return $this->strategyInstance->computePrice($price);
  }
}
//客户端使用
$p = new Price(new HignMember());
$totalPrice = $p->compute(100);
echo $totalPrice; //70
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

 类似资料:
  • 本文向大家介绍PHP实现的策略模式示例,包括了PHP实现的策略模式示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现的策略模式。分享给大家供大家参考,具体如下: 个人觉得设计模式只有在实际应用中才能够慢慢的去熟悉,到最后做到心中有模式,事事有模式,哈哈 例如:一个电商首页,可以根据登陆用户的性别不同显示不同的内容,比如广告和商品类别。 传统方法:在程序内部使用多个if,else

  • 本文向大家介绍Java策略模式实现简单购物车功能,包括了Java策略模式实现简单购物车功能的使用技巧和注意事项,需要的朋友参考一下 策略模式是一种行为模式。用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略。 策略模式也被称作政策模式。实现过程为,首先定义不同的算法策略,然后客户端把算法策略作为它的一个参数。使用这种模式最好的例子是Collectio

  • 本文向大家介绍学习php设计模式 php实现策略模式(strategy),包括了学习php设计模式 php实现策略模式(strategy)的使用技巧和注意事项,需要的朋友参考一下 一、意图 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化 策略模式变化的是算法 二、策略模式结构图   三、策略模式中主要角色 抽象策略(Strategy)角色

  • 本文向大家介绍php单例模式的简单实现方法,包括了php单例模式的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 php单例模式的简单实现方法 首先我们要知道明确单例模式这个概念,那么什么是单例模式呢? 单例模式顾名思义,就是只有一个实例。 作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例, 这个类我们称之为单例类。 单例模式的要点有三个: 一是

  • 我正在学习Java编程。 我的任务是使用策略模式(LFU、LRU和2Q)编写3个缓存实现。在这一点上,我已经编写了LRU实现,无法考虑实现它的条件。 这是我的密码 请帮帮我

  • 本文向大家介绍PHP简单装饰器模式实现与用法示例,包括了PHP简单装饰器模式实现与用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP简单装饰器模式实现与用法。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《p