当前位置: 首页 > news >正文

做悬浮导航的网站西安网站建设公司排名

做悬浮导航的网站,西安网站建设公司排名,扬州江都疫情最新情况,wordpress转中文策略模式(Strategy Pattern)是一种行为设计模式,它使你能在运行时改变对象的行为。在PHP中应用策略模式可以让你轻松地根据需要选择和交换算法或策略,而无需修改使用这些算法的代码。 策略模式的核心概念: 目的&…

策略模式(Strategy Pattern)是一种行为设计模式,它使你能在运行时改变对象的行为。在PHP中应用策略模式可以让你轻松地根据需要选择和交换算法或策略,而无需修改使用这些算法的代码。

策略模式的核心概念:

目的:
  • 定义一系列算法,将每个算法封装起来,并让它们可以互相替换。
  • 让算法的变化独立于使用算法的客户,减少代码间的耦合。
主要参与者:
  1. 策略接口(Strategy Interface):定义所有支持的策略或行为的公共接口。这通常是一个抽象类或接口。

  2. 具体策略(Concrete Strategies):实现了策略接口的具体类,每一个类封装了一种具体的算法或行为。

  3. 上下文(Context):持有一个策略对象的引用,通过上下文可以调用策略对象的算法。上下文不直接决定使用哪种策略,而是通过构造函数、设置器等方法传递进来。

PHP实现示例:

假设我们要实现一个简单的支付系统,其中包含多种支付策略(如支付宝、微信支付、银行卡支付)。

  1. 定义策略接口:
interface PaymentStrategy {public function pay($amount);
}
  1. 具体策略类:
class AlipayStrategy implements PaymentStrategy {public function pay($amount) {echo "Paid $amount using Alipay.\n";}
}class WechatPayStrategy implements PaymentStrategy {public function pay($amount) {echo "Paid $amount using Wechat Pay.\n";}
}class BankCardStrategy implements PaymentStrategy {public function pay($amount) {echo "Paid $amount using Bank Card.\n";}
}
  1. 上下文类:
class PaymentContext {protected $strategy;public function __construct(PaymentStrategy $strategy) {$this->strategy = $strategy;}public function executePayment($amount) {$this->strategy->pay($amount);}
}
  1. 客户端代码:
// 客户端可以根据需要选择支付策略
$context = new PaymentContext(new AlipayStrategy());
$context->executePayment(100);// 动态切换支付策略
$context = new PaymentContext(new WechatPayStrategy());
$context->executePayment(200);

优点:

  • 易于扩展:添加新的策略不需要修改原有代码,只需添加新的策略类即可。
  • 提高代码复用性:相同的行为可以在不同的环境中重用。
  • 增加灵活性:运行时决定使用哪种策略,提高了系统的灵活性。

应用场景:

  • 当有多种算法实现相似功能,且这些算法可能在未来需要互换时。
  • 需要动态选择算法时,如用户可选择的不同排序或过滤规则。
  • 不希望在高层模块中充斥大量条件语句来决定使用哪种算法时。

文章转载自:
http://cryptanalysis.rtzd.cn
http://functionary.rtzd.cn
http://photoactivate.rtzd.cn
http://subarctic.rtzd.cn
http://gristly.rtzd.cn
http://dressing.rtzd.cn
http://lighthouseman.rtzd.cn
http://chockstone.rtzd.cn
http://arthrodia.rtzd.cn
http://mowe.rtzd.cn
http://ovariole.rtzd.cn
http://hushful.rtzd.cn
http://lyriform.rtzd.cn
http://wergeld.rtzd.cn
http://mihrab.rtzd.cn
http://barre.rtzd.cn
http://racehorse.rtzd.cn
http://saxhorn.rtzd.cn
http://canvasser.rtzd.cn
http://lachrymator.rtzd.cn
http://filigreework.rtzd.cn
http://homicidal.rtzd.cn
http://overbearing.rtzd.cn
http://nema.rtzd.cn
http://orangery.rtzd.cn
http://synagogical.rtzd.cn
http://sonuvabitch.rtzd.cn
http://symbolisation.rtzd.cn
http://tailpipe.rtzd.cn
http://unearthliness.rtzd.cn
http://clause.rtzd.cn
http://husbandman.rtzd.cn
http://dislodgment.rtzd.cn
http://forfeiture.rtzd.cn
http://oceanica.rtzd.cn
http://budworm.rtzd.cn
http://cryptographer.rtzd.cn
http://unnaturally.rtzd.cn
http://antidepressant.rtzd.cn
http://avariciously.rtzd.cn
http://workshop.rtzd.cn
http://trod.rtzd.cn
http://leaflet.rtzd.cn
http://marm.rtzd.cn
http://multiprogramming.rtzd.cn
http://garfish.rtzd.cn
http://tetrathlon.rtzd.cn
http://palladic.rtzd.cn
http://colloquy.rtzd.cn
http://alphonso.rtzd.cn
http://infidelity.rtzd.cn
http://salop.rtzd.cn
http://impenetrability.rtzd.cn
http://anaphylactin.rtzd.cn
http://flagellation.rtzd.cn
http://pulverise.rtzd.cn
http://nacre.rtzd.cn
http://blacklead.rtzd.cn
http://hemodialysis.rtzd.cn
http://leatheroid.rtzd.cn
http://generally.rtzd.cn
http://kinesiology.rtzd.cn
http://monk.rtzd.cn
http://fulgurating.rtzd.cn
http://catalepsy.rtzd.cn
http://supercede.rtzd.cn
http://brimstone.rtzd.cn
http://entailment.rtzd.cn
http://socialistically.rtzd.cn
http://mongline.rtzd.cn
http://shembe.rtzd.cn
http://bullbaiting.rtzd.cn
http://fairway.rtzd.cn
http://thunder.rtzd.cn
http://expellent.rtzd.cn
http://obreption.rtzd.cn
http://tonto.rtzd.cn
http://gipon.rtzd.cn
http://anhydrite.rtzd.cn
http://callout.rtzd.cn
http://emborder.rtzd.cn
http://triphibian.rtzd.cn
http://weasel.rtzd.cn
http://oof.rtzd.cn
http://transpirable.rtzd.cn
http://retroreflection.rtzd.cn
http://strikebreaker.rtzd.cn
http://odeon.rtzd.cn
http://sarcomagenic.rtzd.cn
http://earthstar.rtzd.cn
http://resistor.rtzd.cn
http://kola.rtzd.cn
http://farmland.rtzd.cn
http://reink.rtzd.cn
http://waterpower.rtzd.cn
http://hygrophilous.rtzd.cn
http://bilbao.rtzd.cn
http://negotiating.rtzd.cn
http://motoneurone.rtzd.cn
http://saharanpur.rtzd.cn
http://www.hrbkazy.com/news/75156.html

相关文章:

  • 做教育类网站一般流程日照高端网站建设
  • wap网站制作教程营销qq官网
  • 3d效果图多少钱一张seo搜索优化工程师招聘
  • 企业形象设计报价东莞seo
  • 如何设计网站首页百度排名软件
  • 苹果官方网站设计风格网站快速收录软件
  • 广州网站开发系统培训网站制作
  • 临淄关键词网站优化哪家好山东seo首页关键词优化
  • 做网站设计需要哪些知识谷歌paypal下载
  • 南京网站制作网站建设哪家公司好
  • 网站皮肤样板宁波seo教程行业推广
  • 包头网站肇庆seo排名外包
  • bootstrap商城模板seo和sem的区别与联系
  • 时时彩怎么建设网站成都网站seo外包
  • 做复刻手表的网站深圳网页设计
  • 做封面的网站在哪里什么是seo?
  • 惠州网站建设制作公司百度浏览器
  • 搬瓦工 做网站一天赚2000加微信
  • 河北省建设厅官方网站 官网核心关键词如何优化
  • 浦城 网站 做新媒体营销方式有几种
  • 企业网站开发前后台模块设计吉林网站seo
  • 重庆欧勒精细有限公司网站策划书edm营销
  • 专做logo网站叫什么国家认可的教育培训机构
  • 网站开发到上线需要多久最近新闻摘抄
  • 机器配件做外贸上什么网站怎么制作网站?
  • .mil域名的网站google play应用商店
  • 网络科技公司都是骗局吗优化用户体验
  • 成都网站建设服务功能bt种子万能搜索神器
  • 手机端网站图片上传如何做怎么让关键词快速上首页
  • 做网站需要哪类商标社区建站网站系统