策略模式
策略模式(Strategy Pattern): 定义一系列算法,将每一个算法封装起来,让它们可以互相替代。
一个类的行为或算法可以在运行时更改。
主要用于解决:在多种算法相似的情况下,使用if……else所带来的复杂和难以维护。
策略模式的主要组成部分:策略(Strategy):是一个接口,该接口定义了若干标识符,定义了若干个抽象方法
上下文(context):包含有用策略声明的变量
具体策略(ConcreteStrategy):实现策略接口中的所定义的抽象方法
优点;1、算法可以自由切换,
2、避免使用多重条件来判断
3、扩展性好
策略模式的类图: