您的位置:首页 > 编程语言

编程设计模式—策略模式

2014-12-23 11:24 323 查看
大家好!我是小唐,今天给大家分享一下编程中的一种设计模式——策略模式。

策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。

策略模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。

策略模式的优点是简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。

当不同的行为堆砌在一个类中时,就很难避免使用条件语句来选择合适的行为,将这些行为封装在一个个独立的Strategy类中,可以在使用这些行为的类中消除条件语句。

代码如下:

Strategy类,定义所有支持的算法的公共接口:



ConcreteStrategy,封装了具体的算法或行为,继承于Strategy



Context,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用



客户端调用



测试结果:



——小唐
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: