加入收藏 | 设为首页 | 会员中心 | 我要投稿 四平站长网 (https://www.0434zz.com.cn/)- 云服务器、对象存储、基础存储、视频终端、数据应用!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

在代码中应用设计模式?

发布时间:2021-02-25 14:47:33 所属栏目:传媒 来源:互联网
导读:适的设计模式来优化这部分代码。 以促销活动需求为例 需求 为了促进商品的销售,各大电商品台会在平时或者一些节日的时候退出一些促销活动刺激用户消费,活动的类型可能会各不相同,如下: 满减,满400减20 代金卷,玛莎拉蒂5元代金卷 折扣,9折,8折 每满减

适的设计模式来优化这部分代码。

以促销活动需求为例

需求

为了促进商品的销售,各大电商品台会在平时或者一些节日的时候退出一些促销活动刺激用户消费,活动的类型可能会各不相同,如下:

  • 满减,满400减20
  • 代金卷,玛莎拉蒂5元代金卷
  • 折扣,9折,8折
  • 每满减,每满200减10
  • 等等

其中有些可以叠加,有些只能单独使用。

简单实现

上面的需求看起来还是比较简单的,但是如果考虑到我们是不可能一次定义好所有的促销活动类型,后续我们可能会随时都添加新的类型,要保证能够简单的实现功能扩展,那就比较麻烦了。Spring 框架用到的 9 个设计模式汇总,这个你知道吗?

先拿到需求的时候,也不用去想那么多,挽起袖子

 

,上面的代码已经完成了基本功能了。

但是上面的代码也是致命的,虽然看起来很简单,但是那只不过是因为大多数功能都用注释代替了,换成实际代码的话一个方法可能就得上千行。

尤其是当我们需要添加新的促销活动的话就需要在switch中添加新的类型,这对于开发来说简直是灾难,并且维护这些代码也是一个麻烦。

优化一:单一职责原则

上面的代码中,promotion(…)方法直接完成了所有的工作,但是咋我们实际实现中最好让一个方法的职责单一,只完成某一个功能,所以这里我们将对折扣类型的判断和计算价格分开:


 

(编辑:四平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读