PHP实现的策略模式简单示例
发布时间 - 2026-01-11 02:58:00 点击率:次本文实例讲述了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策略模式简单示例分析【区别于工厂模式】
# php设计模式之策略模式应用案例详解
# PHP设计模式之策略模式原理与用法实例分析
# PHP实现的策略模式示例
# PHP策略模式定义与用法示例
# PHP行为设计模式之策略模式
# 程序设计
# 操作技巧
# 相关内容
# 感兴趣
# 给大家
# 购物车
# 更多关于
# 所述
# 面向对象
# 就可以
# 客户端
# 抽象类
# 讲述了
# interface
# lt
# function
# computePrice
# Strategy
# public
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
智能起名网站制作软件有哪些,制作logo的软件?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Laravel如何处理CORS跨域请求?(配置示例)
如何用花生壳三步快速搭建专属网站?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
如何在VPS电脑上快速搭建网站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
Laravel如何配置和使用缓存?(Redis代码示例)
如何在腾讯云免费申请建站?
如何快速生成可下载的建站源码工具?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
如何用已有域名快速搭建网站?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
JavaScript如何操作视频_媒体API怎么控制播放
网站制作免费,什么网站能看正片电影?
如何快速生成凡客建站的专业级图册?
如何快速建站并高效导出源代码?
如何在万网开始建站?分步指南解析
Laravel如何实现用户注册和登录?(Auth脚手架指南)
canvas 画布在主流浏览器中的尺寸限制详细介绍
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
bootstrap日历插件datetimepicker使用方法
香港服务器网站卡顿?如何解决网络延迟与负载问题?
香港服务器租用每月最低只需15元?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
油猴 教程,油猴搜脚本为什么会网页无法显示?
微信小程序 require机制详解及实例代码
C#如何调用原生C++ COM对象详解
进行网站优化必须要坚持的四大原则
如何在腾讯云服务器快速搭建个人网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Laravel storage目录权限问题_Laravel文件写入权限设置
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel定时任务怎么设置_Laravel Crontab调度器配置
jquery插件bootstrapValidator表单验证详解
网站建设保证美观性,需要考虑的几点问题!
公司网站制作需要多少钱,找人做公司网站需要多少钱?
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Laravel集合Collection怎么用_Laravel集合常用函数详解
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
上一篇:如何在Linux上备份和恢复数据
上一篇:如何在Linux上备份和恢复数据

