策略模式(别名:政策)
定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
Strategy Pattern(Another Name: Policy)
Define a family of algorithms, encapsulate each one, and make them inter changeable. Strategy lets the algorithm vary independently from clients that use it.
类图
模式的结构与使用
策略方法模式的结构中包括三种角色。
+ 策略(Strategy):策略是一个接口,该接口定义若干个算法标识,即定义了若干个抽象方法。
+ 具体策略(Concrete Strategy):具体策略是实现策略接口的类。具体策略实现策略接口所定义的抽象方法,即给出算法标识的具体算法。
+ 上