1 定义
策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。
简单来说就是就定义一个策略接口,子类策略去实现该接口去定义不同的策略。然后定义一个环境(Context,也就是需要用到策略的对象)类,以策略接口作为成员变量,根据环境来使用具体的策略。
简单说就是一个公共的抽象方法不同的子类实现,之后根据需求选择不同的方法
1.1 优点
1、算法可以自由切换。
2、避免使用多重条件判断。
3、扩展性良好。
1.2 缺点:
1、策略类会增多。
2、所有策略类都需要对外暴露。
2 策略模式实战
案例:结算价格计算,根据Vip不同等级进行运算