2014.4.21 数据库设计:冗余一个字段支撑一个功能的巧妙的设计

CRM后期需求修改时,程序设计思维上的亮点:

1.实现录音权限分配功能

A.早期需求:角色都可以听录音。

   处理方式:界面不加限制。

B.中期需求:仅超级管理员可以听录音。

   处理方式:对非超级管理员的角色在界面上加限制。

C.后期需求:超级管理员可以分配听录音的权限给指定的人员,且分配之后72小时有效,过期失效。

   个人计划处理方式:新建听录音的权限表(某人,开始时间,结束时间);新建一套增删改的界面;

   同事计划处理方式:直接在人员表中冗余一个voice_endtime表示听录音的截止时间,在界面上判断:为空或者在当前时间之前都表示“未授权”。

亮点总结:思维跳跃,这样处理简化了很多事情:不必新建表,不需要添加一套增删改的界面,java文件不需要修改(不需要另外去查询权限相关的数据,因为本条数据已经包含了权限标识)减少了此功能的维护成本,简化了对功能的理解。新增一个字段就完成了一个功能,这种高效的方式给我很大意外。

2.审核功能的设计原理(更名审核、延期审核)

   个人计划处理方式:新建审核表(申请类型,原值,更改后的值...),新建一套对应的增删改的界面,同时对不同的申请做通过或拒绝才操作时,续作逻辑处理;

   同事计划处理方式:

在人员表中冗余name_temp字段,存更改后的值,当name和name_temp的内容不一致时,可以筛选出此条数据进行操作,如果点击‘通过’,则将name_temp的值赋给name,‘拒绝’,则将name的值覆盖到name_temp。

在客户表中冗余sign_time_temp字段,原理如上。

亮点总结:避免了引入更多的逻辑,使得代码更精简。也是一个字段支撑一个功能的巧妙的设计!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来的我比现在的我更优秀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值