API接口设计常常遇到的问题其中一个是 管理员和普通用户的使用的数据查询接口是共用还是分开/p>
- 共用难以理清内部逻辑,往往会在一个接口中添加各种分支判断
- 分开则会影响开发效率,毕竟一个接口现在你需要写两份
用一个例子来说明:
比如查询订单列表
代码实现:
首先尝试把所有的查询都集成到一个方法中。
上面这样做的问题:
- 函数参数太多了,其中夹杂普通用户的查询参数和管理员以及销售员的查询参数
- 函数中的逻辑判断又臭又长,随着需求增加代码逻辑会更长,也会有很多冗余的地方
- 用户逻辑和管理员和销售员逻辑混在在一起不容易维护,当长时间增加不同的逻辑后,开发一个新功能需要对所有的逻辑旁路进行梳理。
- 如果加入查询权限控制、用户权限控制,代码逻辑更为混乱。
个人建议:
- 如果是一套代码完成前后台功能,至少在逻辑层面进行分层,用户是用户,管理员是管理员。使用不同的逻辑空间或者文件夹进行分装。
- 业务逻辑层不要做权限控制,把权限控制放在控制器层(请求入口)去做,业务逻辑层只负责数据的组装。
- 尽量将一大片复杂的业务逻辑拆分成不同的小方法进行复用。
拆分后短期看是比较麻烦的(维护了两个代码,前期好像逻辑没有什么不同),但是长期来看,随着业务的增加,这样势必更容易维护。
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成表31345 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!