编程设计模式—策略模式
2014-12-23 11:24
323 查看
大家好!我是小唐,今天给大家分享一下编程中的一种设计模式——策略模式。
策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。
策略模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。
策略模式的优点是简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。
当不同的行为堆砌在一个类中时,就很难避免使用条件语句来选择合适的行为,将这些行为封装在一个个独立的Strategy类中,可以在使用这些行为的类中消除条件语句。
代码如下:
Strategy类,定义所有支持的算法的公共接口:
ConcreteStrategy,封装了具体的算法或行为,继承于Strategy
Context,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用
客户端调用
测试结果:
——小唐
策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。
策略模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。
策略模式的优点是简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。
当不同的行为堆砌在一个类中时,就很难避免使用条件语句来选择合适的行为,将这些行为封装在一个个独立的Strategy类中,可以在使用这些行为的类中消除条件语句。
代码如下:
Strategy类,定义所有支持的算法的公共接口:
ConcreteStrategy,封装了具体的算法或行为,继承于Strategy
Context,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用
客户端调用
测试结果:
——小唐
相关文章推荐
- 详解Python设计模式编程中观察者模式与策略模式的运用
- Java设计模式编程中的状态模式和策略模式
- 详解C++设计模式编程中策略模式的优缺点及实现
- 对比Java设计模式编程中的状态模式和策略模式
- Android编程设计模式之策略模式详解
- 详解Java设计模式编程中的策略模式
- 【编程素质】设计模式-策略模式
- [浪子学编程][MS Enterprise Library]ObjectBuilder之设计模式(一):策略模式
- 从头认识设计模式-策略模式-05-引入设计原则:面向接口编程
- 详解Python设计模式编程中观察者模式与策略模式的运用
- Java编程思想笔记02:组合与继承、final、策略设计模式与适配器模式、内部类、序列化控制(注意事项)
- 多线程编程的设计模式 不变模式(一)
- 多线程编程的设计模式 临界区模式(一)
- Java设计模式学习之一---策略模式
- 多线程编程的设计模式 不变模式(一)
- [浪子学编程][MS Enterprise Library]ObjectBuilder之设计模式(二):责任链模式
- 设计模式之策略模式在设计一群鸭子中的应用
- C#设计模式编程之抽象工厂模式新解
- 设计模式之策略模式(Strategy)
- 设计模式(18)-策略模式(Strategy)