本文实例讲述了php设计模式之策略模式应用。分享给大家供大家参考,具体如下:
定义:
策略模式定义一系列的算法,将每个算法封装起来,并让它们可以相互装换。策略模式让算法独立于使用它的客户而独立变化。
角色分析:
- 抽象策略角色:策略类,通常由一个接口或者抽象类实现;
- 具体策略角色:包装了相关的算法和行为;
- 环境角色:持有一个策略类的引用,最终给客户端用。
应用场景:
- 多个类只区别在表现行为不同,可以使用策略模式,在运行的时动态选择具体要执行的行为。
- 需要在不同情况下使用不同的策略(算法) ,或者策略还可能在未来用其他方式来实现。
- 对客户隐藏具策略(算法)的实现细节,彼此完全独立。
代码实现:

