作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
策略模式(Strategy Pattern)定义一系列算法,把它们一个个封装起来,并且使它们可以互相替换。Strategy 可以使算法独立于使用算法的客户端。
模式结构
UML 结构图:
- Context(环境角色):持有一个对 Strategy 的引用,最终给客户端调用。
- Strategy(抽象策略):定义了一个公共接口,让不同的算法以不同的方式来实现。通过这个接口,Context 可以调用不同的算法。
- ConcreteStrategy(具体策略):实现 Strategy 定义的接口,提供具体算法的实现。
优缺点
优点: