定义:定义了一系列的算法,将相同类型的每个算法封装起来,并且可以相互的替换,利用了多态的形式。主要是替代if…else… switch…case..等硬编码的形式。缺点就是在使用的客户端必须理解算法的区别,并且将各个算法封装起来对象的数目就会很多。
具体的是使用方法:
Context:用来操作策略的对象
Strategy:策略的抽象
ConcreteStrategy:具体的策略
抽象的策略
具体的策略
具体的操作类的对象,其实这里就是控制器,进行统一的控制上面的具体的策略类。利用多态将传递过来的参数进行调用各自的具体的方法。