最新消息:

对php策略模式的理解

PHP aitilaIT 79浏览 0评论

策略模式

模式分析:

策略模式与工厂模式扩展性都比较好,策略模式主要解决的问题(使用场景):有多种策略可以选择,根据不同的情况选择不同的策略,可在不修改使用策略的中间模块的情况下随意的增加策略,例如:加减乘除算法

角色说明:

抽象策略角色(Strategy):定义所有支持算法的公共接口,通常通过接口或抽象来实现,Context使用这个接口来调用其ConcreteStrategy定义的算法。

具体策略角色(ConcreteStrategy):以Strategy接口实现某具体算法

环境角色(Context):持有一个Strategy类的引用,用一个ConcreteStrategy对象来配置

与工厂模式的区别:

工厂模式是创建性模式,它关注的是对象的创建,提供对象创建的接口,让对象的创建和使用与客户无关。

策略模式是对象行为模式,他关注的是对象行为和算法的封装,它定义一些列的算法,把每个算法都封装起来,并且使他们可以互相替换,使算法可独立于使用它的客户而变化。

对php策略模式的理解

对php策略模式的理解

转载请注明:PHP学习 » 对php策略模式的理解

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址