策略模式:Strategy Pattern、行为型模式


    策略模式将定义的算法家族、分别封装起来,让它们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。
    策略模式核心在于 面向对象的继承和多态机制


策略模式应用场景


1、针对同一类型问题,有多种处理方式,每一种都能独立解决问题
2、算法需要自由切换或者屏蔽算法规则等。


策略模式的优缺点


优点:

​1、策略模式符合开闭原则 ​

​2、避免多重条件转移语句,如 if..else 、swith 等 ​

​3、使用策略模式可以提高算法的保密性和安全性。 ​

缺点:

​1、客户端必须知道所有策略,并自行进行策略选择 ​

​2、代码中会产生很多策略类,增加维护难度。​


策略模式源码应用


1、Comparator类的 compare()
2、Spring中的 InstantiationStrategy接口