购物车中设计模式

              

    提到到设计模式,很多人可能会困惑,甚至是反感.到处都看到文章说设计模式是如何的重要,但是自己写代码的时候却发现很少用到设计模式,甚至可能觉得这是个沽名钓誉的东西,谈不清也说不明.

    确实我之前也觉得设计模式是非常的高深,很难接触一二,但是通过不断的写代码,写完后再回顾总结的时候,却发现设计模式确实给我们指出了一条明道,只有通过实际项目的体会,才能明白其中道理,就像兵书读的再多,没有实际带兵打过仗,不过是纸上谈兵而已.

    我在不断工作中时常会停下来做些思考,希望能给写过的代码找到一些归宿,能够让这些代码能够更好的被复用,易扩展.

    因为做的电子商务网站,接触到最多的就是各种各样的打折方式了,逢年过节就要搞一个促销,比如什么满300送100了,买一件第二件对折了,什么商品的积分翻倍了,什么买三送一了,总之就是非常的多.

    之前写代码很规矩,老老实实的写,购物车中有多少商品,数量是多少,然后价格乘以数量就ok了.后来就不对劲了市场部总是提出一个又一个折腾人的促销方式,没办法,得满足啊,谁叫咱是程序员呢,呵呵.

    写了2个,3个促销方式之后,发现了他们有很多通用的地方,这个时候就想谋求有什么好的解决方案了.既然他们有很多公共的地方,那么就可以把他们抽象出来放在一个父类里面,其他的促销方式继承这个父类,然后重写里面的计算方法就可以了.

比如:

 

Code


这里就涉及到职责单一模式,简单改成模式和策略模式.

在学习设计模式的过程中,也能不断的体会到面向对象的魅力.

职责单一就是一个类的功能要越少越好,只有一个可以引起他改变的因素,这样他们功能很单一,便于复用不容易出错.

    简单工厂模式就是在不同的情况下能够给我们提供不同的类型.

策略模式,其实跟简单工厂模式差不多,就是做了进一步的封装,

posted on   隨風.NET  阅读(1127)  评论(2编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)

导航

< 2009年9月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

统计

点击右上角即可分享
微信分享提示