码迷,mamicode.com
首页 > 其他好文 > 详细

策略模式

时间:2017-06-02 18:59:13      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:计算   strong   开放   而不是   style   size   统一   价值   返回   

将变化的抽离出来,行为抽离出来,统一动作。

策略 模式(表单验证,缓动动画)——更换一种出行方式。

初始问题:

1.if else类似逻辑函数庞大。2.需要修改算法的时候,需要深入内部函数,违反封闭-开放原则。3.复用性差,别的地方使用只能复制粘贴。故有策略模式产生。


解决:
将if else的思想封装到策略函数,将类似的展示提取出来,到一个函数,get,set等。然后将封装的函数传入,则调用不同的逻辑。
原话思想:
##多态在策略模式中的体现。
通过使用策略模式重构代码,消除源程序大片的条件分支语句。所有跟计算奖金有关的逻辑不再放到Context中。而不是分布在各个策略对象中。Context并没有计算奖金的能力,而是把职责委托给某个策略对象。每个策略对象负责的算法封装在对象内部。当我们发出计算请求时,会返回各自不同的计算结果。
##实现策略模式关键:
找到封装变化、委托和多态性这些思想价值。

策略模式

标签:计算   strong   开放   而不是   style   size   统一   价值   返回   

原文地址:http://www.cnblogs.com/rainbow661314/p/6934674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!