C++策略模式
简述 策略模式(Strategy Pattern)定义一系列算法,把它们一个个封装起来,并且使它们可以互相替换。Strategy 可以使算法独立于使用算法的客户端。 简述 模式结构 优缺点 适用场景 案例分析 代码实现 版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820 模式结构 UML 结构图: Context(环境角色):持有一个对 Strategy 的引用,最终给客户端调用。 Strategy(抽象策略):定义了一个公共接口,让不同的算法以不同的方式来实现。通过这个接口,Context 可以调用不同的算法。 ConcreteStrategy(具体策略):实现 Strategy 定义的接口,提供具体算法的实现。 优缺点 优点: 各自使用封装的算法,可以很容易地引入新的算法来满足相同的接口。 由于实现的是同一个接口,所以策略之间可以自由切换。 Strategy 使客户端能够选择所需的算法,而无需使用 switch/case 或 if/else 语句。 算法的细节完全封装在 Strategy 类中,因此,可以在不影响 Conte...
