防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”
2010-07-19 11:20 通用C#系统架构 阅读(8901) 评论(124) 编辑 收藏 举报
用 DeleteMark 的出发点:
1:虽然在界面上有删除提示,但是客户错误的删除了一笔数据后,想恢复被删除的数据是特别困难的,有人曾比喻,若输入数据的工作量,用1来比喻,那恢复被误删除的数据的工作量,很可能是100,所以就算界面上有删除提示,客户也确认删除了,但是还能有把数据挽救的余地才是保险的做法。
2:程序写太好了,客户用了好几年,程序的速度也飞快,数据库也很精简,很难收到维护费,曾经有一个大客户,软件用了接近10年都好好的,客户从来不支付维护费,你也没办法上门收维护费,因为程序写得太精悍了,这10年里,不知道损失了多少钱,本来可以收蛮多维护费的事情,就被搞砸了,若每天都产生日志文件,被删除的数据都在数据库里,这10年下来,数据库也会变得很庞大,软件运行速度自然就下来了,客户也愿意支付维护费,数据都保留着,也不是坏事,防止万一出现问题,都能有恢复过来的保障。
设置了 DeleteMark 标志后,程序的工作量主要体现在:
A: 数据库结构设计需要调整,所有的类都需要重新生成(用代码生成器生成还算好点儿,做到设计与实际是同步的很困难)。
B: 所有的选择数据的方法,都需要加上 DeleteMark = 0 的判断条件。
C: 所有的业务逻辑上,都需要加上 DeleteMark = 0 的判断条件。
D: 所有的删除方法,都需要修改,以前是直接进行删除操作,现在是伪删除,只是打上删除标志。
由于程序的功能点也相对多,平时管理上、工作上也有很多事情需要处理,所以这个增加 DeleteMark 标志足足耗费了1周时间,其实很多事情,嘴巴上说说都很简单,但是真正需要去做,只是那么一点改进,往往是需要耗费很多精力、时间,才能做好,才能上升一个台阶。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
2009-07-19 小公司真的能培养出来自己的人吗?员工真的成长过快是好事吗?