数字字典的作用

27 篇文章 0 订阅
1 篇文章 0 订阅

今天某甲方负责人问我,你们系统在下拉框里面存的字典是什么?比如民族这个,存的汉族还是什么?我说存的字典编码,我们把民族、区域等信息存在字典里面。

但是为什么要存数字字典呢?直接存文字不好吗?

现在说说数字字典的重要性:

1、保证开发时参数能够统一。

先给大家普及一下多租户的概念。一个企业开发一个系统主要还是为了盈利,会租给A客户,也会租给B客户、C客户等,租户A就是该系统的某一个租户,多租户也就是租赁某个系统的这些用户。为了保证多个租户之间的数据的完整性、安全性、可靠性等,各租户看不到彼此之间的数据,只能根据其在这个系统里面的权限查询其相对应的功能及数据等。

当很多客户都租用该系统时,就会出现一些比较难统一的问题。比如:在某外卖系统中,水果商A客户只卖苹果、香蕉,B客户只卖梨和草莓。如果有一天,A客户不再卖苹果了,他想进货一些草莓,这个时候我们只要修改数据库里面的字典数据就可以批量修改对应的水果名称(当然,实际上应该是添加一个新的水果品种而不是将苹果的字典直接换成草莓,除非有100%确定以后没有水果商卖苹果),也易于后期的系统维护。

2、易于前后端交互

可以想一下,如果某个区域没有添加字典,在选取省份、城市、区县的时候,如果需要级联的话,没有字典的话就需要将每一个省、城市、区县列举出来,这样会消耗较多的资源,也不易于前端代码的维护(可以想一下,几百行代码下来全是省份城市等,估计这些代码大家是看都不想看的),然而如果添加的数字字典的话,后台返回一个根据上级id查询到下一级的字典信息的接口即可,前端根据上级的id获取下级的信息,在显示下拉框的时候可以使用循环将获取的item的name显示给用户看,将value传给后台,便可以调用几次该接口来替换这几百行的省市区,那不是变得简洁很多、不是跟容易维护吗?(后期也就是在数据库加上相关的字典信息即可,就不需要管前端到底有几个页面使用了这个区域字典,也不需要一个个页面修改了,)什么?你说你可以封装组件?那你想过没有,一个文字占用两个字节,如果某个省市的名称很长,请求的时候需要的资源也会变多,当系统数据大到上万上百万的时候,是真的会很卡的。

3、保证数据的安全性

当某个get请求中的参数是民族时,如果不使用字典的话可以在请求里面看到请求的参数是什么,别人会模仿这些数据很容易获取到部分数据,这是不安全的;如果使用数字字典,当汉族的编码是aac001的时候,别人也不知道这是什么参数。当然,当系统中某个字段不被需要的时候,可以使用数字字典对对应的字段进行更新,而那些系统的历史数据仍然需要这个字段也是可以保留着的,如果直接使用前端直接替换修改的话,就会比较乱,工作量也会很大,甚至有某些需要修改的小地方是我们没发现而导致的bug,甚至是不可预知的致命性的错误。

废话那么多,总之就是数字字典对于开发、前后端交互与对接来说是很重要滴,对于后期的维护也是很重要滴!!快点添加自己的数据字典吧!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值