PHP策略模式定义与用法示例

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP策略模式定义与用法示例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP策略模式定义与用法分享给大家供大家参考,具体如下:

概述

策略模式属于对象的行为模式。其用意是针对一组算法,将每个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化

UML

PHP策略模式定义与用法示例

策略模式中主要角色

这个模式设计到三个角色:

一个Strategy的引用 一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体的策略类所需的接口

使用场景

假设现在要设计一个购物车系统,一个简单的情况就是把所有货品的单价乘上数量,但是实际情况肯定比这个复杂。例如:对普通会员无折扣,对中级会员提供8折优惠,对高级会员提供7折优惠。

根据上述描述,货品价格是根据以下几个算法中的一个进行的:

对普通会员无折扣 对中级会员8折 对高级会员7折

UML图

PHP策略模式定义与用法示例

实现代码

<PRe class="brush:PHp;"> strategyInstance = $instance; } /** * 计算货品的价格 * * @param double $price */ public function quote ($price) { return $this->strategyInstance->calPrice($price); } } /** * 客户端操作 */ $high = new HighStrategy(); $priceClass = new Price($high); $price = $priceClass->quote(400); echo $price; ?>

脚本宝典总结

以上是脚本宝典为你收集整理的PHP策略模式定义与用法示例全部内容,希望文章能够帮你解决PHP策略模式定义与用法示例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。