首页 > 其他 > 详细

策略模式

时间:2015-12-10 23:36:23      阅读:288      评论:0      收藏:0      [点我收藏+]

2015年12月10日21:54:25

完成一个功能可能会有好几种算法或者方法来实现,通过对算法和方法的抽象,提供统一接口,不通算法,实现方式为实现类,通过注入不同的实现对象来实现算法,实现方式的灵活切换即为策略模式。

策略模式是针对多种选择的代码片段的优化,是的代码减少修改,符合开闭原则。

  1. 编码实现就是先将各个算法或者实现方式抽象成一个接口,接口里面是所有实现方式的抽象方法。
  2. 每增加一种实现方式或者算法实现,就增加一个类实现该接口,并实现里面的抽象方法。
  3. 最后通过传入不同类的对象来实现不同算法或者实现方式的灵活切换。

优点:逻辑直观,易于扩展。

缺点:每增加一个算法或者实现方式都要实现一个类。类文件会显著增加

感觉设计模式其实就讲的是一种技巧或者写好的代码的捷径。单同时也是牺牲了一部分的,比如类的数量变大了,单却更好的,更优雅的实现比较好的代码。

策略在重构代码中的考量,比如类似 if lese , switch case 这类语句,如果判断很多,其实可以通过策略模式来重构这部分的代码,不至于一大坨,又一大坨的代码块。通过多个实现类的方式,灵活在多种算法,实现方式之间切换。

 

策略模式

原文:http://www.cnblogs.com/androidsuperman/p/5037590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!