3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:小技能 DeleteMark)
2009-02-03 19:53 通用C#系统架构 阅读(950) 评论(1) 编辑 收藏 举报我们搞技术的,在普通人眼里,是很牛X的,好像在技术上什么都能搞得定一样,其实这个只是给别人的印象
而已,其实我们真正能做的东西很少,能实现的功能也是有限的,除非你是这个行业里的专家。
例如一个操作员,不小心把一个数据给删除了,我们的借口就是,我不是给你出了提示信息嘛,不是出来提示
信息,警告是,是否真的要删除?你也按确认了,也删除了,数据哪里还能回复过来,例如刑场上你都把犯人
枪毙了,你还能就回来不成?说说好像还真有道理一样,但是一系列或者是一组关键的数据被删除了,想补上
这个数据是相当的困难的,不是那么容易能补上,删除容易想补上数据就好比登天了。
其实,我们应该有一个功能,就是我们技术人员能通过后台数据库,把操作员删除的数据也能救回来,当然我
们不希望经常来救数据,但是我们有这个能力,出了问题,都有补救的能力,数据被删除时,只是打了个删除
标识,例如DeleteMark 设置为1,表示数据被删除了,但是不进行真正的删除,0表示此数据是有效的。
虽然这个出发点很好,问题接着就出来了,我们写所有程序的逻辑及判断是,都要增加条件,就是 DeleteMark=0
的数据才是有效的数据,虽然就这么简单的增加了一个要求,导致你全盘都要加一个标示判断,其实工作量上
会增加很多很多,所以有时候,我们就为了一个简单的功能实现,会增加很多额外的劳动,额外的辛苦,这个
就要看你想要达到什么样的效果。
当然你还可以建立视图,例如被删除的是一个视图, 未被删除的是一个视图,然后都针对这个未被删除的视图
进行逻辑操作,那程序的工作量都会小很多,可能稍微修改一些东西就可以了,但是这些都是有一定的高度了后
才能明白这个道理,才能总结出来,包括我自己也会走很多弯路,才能明白这个,只能在下一次做系统时会更有
经验而已。
其实做管理软件不难,难的是你把很多细节,很多问题都处理得有条有理,逻辑性很强。
欢迎大家指点批评交流。