设计模式 策略模式
1.定义
Define a family of algorithms,encapsulate each one,and make them interchangeable.
定义一系列的算法,把它们封装起来,并且使它们可以相互替换。
Strategy lets the algorithm vary independently from clients that use it.
策略模式使得算法的变化可独立于使用它的客户。
2.类图
3.类图说明
Strategy:抽象策略类。定义所有支持的算法的公共接口。Context使用这个接口调用ConcreteStrategy定义的算法。
ConcreteStrategy:每个算法定义一个具体的ConcreteStrategy类,并继承或实现Strategy。
Context:环境类,维护Strategy对象的引用。