策略模式与开发实践
策略模式与开发实践
unibigbear 发表于2年前
策略模式与开发实践
  • 发表于 2年前
  • 阅读 14
  • 收藏 0
  • 点赞 2
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

策略模式

        策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。

       在应用中,策略模式可以用来优化具有很多不同判读分支的场景。

       我们先来看一个例子,根据不同的绩效成绩来算年终奖。(说到奖金我就开心,哈哈)

简单的多条件判断

我们根据不同的绩效来发奖金:

这样的代码有一个问题,就是当情况越来越多,就得修改calculateBonus函数内部,这就违反了开放-封闭原则。

使用策略模式重构

       前面说到过,策略模式是定义一系列的算法,把它们一个个封装起来。其目的就是将算法的使用与算法的实现分离开来。

       在上面的例子中,算法的使用的不变的,就是根据某个算法得到计算后的奖金,而算法的实现是根据条件变化的。

一个简单的策略模式就完成了。

使用策略模式验证表单

      前面只是一个小例子,目的是介绍策略模式这样思想。现在以工程应用中的表单验证为例,说说策略模式的作用。

普通的验证

       最常见的验证方式:

 如此为每一个条件都进行一次判断,势必会带来很多的复制粘贴。

策略模式的验证

下来看看我们如何通过使用策略模式来重构表单验证:

这样的解决方案可能看起来代码量会多一些,而且比较复杂,但是维护和拓展起来就比较方便了,而且复用性也会比较强。这也就达到了策略模式的作用。

感悟 

       总体来说,策略模式可以有效避免多重条件选择语句,从而避免许多重复的复制粘贴工作。

 

欢迎大家一起交流。

扫描以下二维码,获取更多更精美文章!

关注我们微信订阅号( uniguytech100) 与服务号(uniguytech),获取更多更精美文章!

也欢迎加入【大家技术网讨论QQ群】,群号码:256175955,请备注你个人的介绍!让我们一起聊聊it的那些事!

标签: 开发 模式
共有 人打赏支持
粉丝 1
博文 70
码字总数 5874
×
unibigbear
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: