数据库法复杂逻辑

曾经看过,一些人写的算法,读着就觉得累。长长的。尤其是再封装到程序里,更是让人觉得,真的还没有重写来得快。事实上,当一个架构设计只注重实现的平台,累积到一定的程度时,不得不废掉。
当然有些复杂的逻辑不可避免,但是完全可以改变实现的方法。例如数据库法。数据库如何实现逻辑呢?其实,数据库有一个天然的优势,就是枚举法。特例可以通过表格实现。当然,完全可以把不相关的数据放在同一张数据表里。没有哪一家生产的数据库,规定说表里只能放置一些相关的数据,毫不相干的数据不可以在一张表里存储。
一般建议,采用两张表互补实现比较稳妥。通用性的逻辑放在一张表里,特例放在另外一张表里。举例来说,做一个自动发送邮件的调度。通知类的,全体都有。管理类的,发送到指定的人员。假如表A里是全体员工的邮箱,或者说,有一个all@gs.com的邮箱,全体员工都可以收到。那么,就把all@gs.com放在表A里。表B里是特例邮箱。那么,如果发送管理类的邮件,就到表B里去找。当然,有些人,也可以说,完全可以把表A和表B合并起来,加上一个新列,做为这两种情况的区别。如果,您想到了这一点,说明,您的数据库知识,还是相当扎实的。
把逻辑判断条件放在数据库表里实现,很大程度上减少了程序代码的量。并且,具有很强的可读性,高度有效的可维护性。当然,前提是,您得看懂里面的逻辑,否则,会出乱子。
分享这个想法,希望能起到抛砖引玉的效果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值