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