防用户误删除,耗费一周时间把DeleteMark标志都加上来了,系统中所有的删除操作都变成“伪删除”
2010-07-19 11:02
387 查看
用 DeleteMark 的出发点:
1:虽然在界面上有删除提示,但是客户错误的删除了一笔数据后,想恢复被删除的数据是特别困难的,有人曾比喻,若输入数据的工作量,用1来比喻,那恢复被误删除的数据的工作量,很可能是100,所以就算界面上有删除提示,客户也确认删除了,但是还能有把数据挽救的余地才是保险的做法。
2:程序写太好了,客户用了好几年,程序的速度也飞快,数据库也很精简,很难收到维护费,曾经有一个大客户,软件用了接近10年都好好的,客户从来不支付维护费,你也没办法上门收维护费,因为程序写得太精悍了,这10年里,不知道损失了多少钱,本来可以收蛮多维护费的事情,就被搞砸了,若每天都产生日志文件,被删除的数据都在数据库里,这10年下来,数据库也会变得很庞大,软件运行速度自然就下来了,客户也愿意支付维护费,数据都保留着,也不是坏事,防止万一出现问题,都能有恢复过来的保障。
设置了 DeleteMark 标志后,程序的工作量主要体现在:
A: 数据库结构设计需要调整,所有的类都需要重新生成(用代码生成器生成还算好点儿,做到设计与实际是同步的很困难)。
B: 所有的选择数据的方法,都需要加上 DeleteMark = 0 的判断条件。
C: 所有的业务逻辑上,都需要加上 DeleteMark = 0 的判断条件。
D: 所有的删除方法,都需要修改,以前是直接进行删除操作,现在是伪删除,只是打上删除标志。
由于程序的功能点也相对多,平时管理上、工作上也有很多事情需要处理,所以这个增加 DeleteMark 标志足足耗费了1周时间,其实很多事情,嘴巴上说说都很简单,但是真正需要去做,只是那么一点改进,往往是需要耗费很多精力、时间,才能做好,才能上升一个台阶。
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
if ($ != jQuery) {
$ = jQuery.noConflict();
}
相关文章推荐
- 防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”
- 防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”
- 防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”
- 防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”
- 禁止VMware用户在系统里删除网卡的操作的方法
- TRUNCATE TABLE 与 DELETE在删除整个表的所有记录时的区别具体到性能,效率,操作方式等方面
- 列出用户(例如用户为test)3天前对系统所作的所有操作,写出命令?
- 基于jsp+servlet图书管理系统之后台用户信息删除操作
- 显示日期和时间,列出所有登录的用户,给出系统的更新时间,最后将所有信息保存到日志文件中
- TRUNCATE TABLE 与 DELETE在删除整个表的所有记录时的区别具体到性能,效率,操作方式等方面
- postgresql查询所有系统表,当前用户,当前时间戳
- linux记录系统中常用重要的log记录和用户的所有操作精确命令记录
- Linux系统下所有用户的操作信息
- C#写的对系统用户和组操作的类(可以实现用户和组的添加、删除、修改)
- View 登陆配置程序及禁用view用户可以在系统里删除网卡的操作的方法
- 1.利用android提高的的insert,query,update,deleteAPI与execSql,rawQuery函数执行原生的插入,查询,更新,删除语句操作花费时间的对比结果
- 忙活了一周时间,开发了一个年会抽奖系统,免费开放给大家(含操作视频及下载地址)
- linux记录系统中常用重要的log记录和用户的所有操作精确命令记录
- linux(centos 6)下记录所有用户的操作以及ip、时间
- 在上一节中,我们讲到吞吐量,做为一个用户你可以对吞吐量毫不关心,但响应时间却是用户感受系统性能的主要体现。 从用户角度来说,软件性能就是软件对用户操作的响应时间。说得更明确一点,对用户来说,当用户单