逻辑删除和冻结就不是一回事
Categories:
程序设计
事实上,我个人是不喜欢逻辑删除的。
写了另外一篇文章逻辑删除是我们唯一的选择吗?
但本文不讨论了,假定项目里就是采用了逻辑删除的方案。
场景
很多人在遇到数据需要冻结的时候,会因为项目里已经大量使用了逻辑删除的设计,而用逻辑删除来代替冻结的概念。
如系统肯定多多少少会有一些配置项、数据字典等。
即使这部分数据可能要废弃了,但是因为历史数据还需要关联,所以这部分基础数据其实是不应该删除的,一般业务上也叫它启用、禁用(冻结)。
观点
删除
删除就是这个东西真的不需要了,甚至连它存在过的痕迹都不需要保留。
就好比你写了一篇文章,你觉得写的不好,要删除掉。就我个人来说,直接删除就是了。
非要给自己一个后悔的机会,也可以参照回收站的设计。又扯远了。
删掉后,在界面上是看不到这篇文章的,不会再有任何东西关联上它了。
没有了它,也完全不会带来任何不好的影响。
冻结
冻结就是虽然你以后不需要它了,但是它曾经存在过的痕迹需要保留,不然会显得很奇怪。
比如一个员工离职了,不能直接删除掉这个员工。
不然该员工的工资单、请假记录、系统里跟进的项目的工作记录 等等一切与该员工有关的东西都会显得很奇怪。
我们只能把该员工标记为离职。
离职也好,废弃也好,禁用也罢,它们统统都是在业务上有意义的一种状态。
如果你觉得本文对你有帮助或不错,可略表心意,请我喝一杯冰可乐。 ☕