今天突然来了一个灵感,记录一下。以前总觉得说不清楚,看看这种表达方式是否可以说清。
两个原则:依赖接口编程,不要依赖实现编程;最小获知原则。
面向对象最重要的是什么?抽象。那么在权限这方面我们要如何抽象呢?

最小获知原则
角色本身就是一种抽象出来的东东,用他来做隔离是最好不过了。因为客户里面是没有“角色”这个东东的。客户有岗位、部门、个人或者是工作组,但是就是没有角色。不是有句话吗,“什么?你不知道,那就好办了”。引用一下就是“什么?你这里没有,那就好办了”。
我们可以把角色说成是“部门”、“岗位”、“个人”,也可以说成是“岗位+个人”等各种说法,反正你那里没有角色,那我就怎么解释都行。最终解释权在我这里,咋说咋有理。
写代码的时候不用考虑客户的具体的权限方面的需求,只需要按照角色的规则编写,实现功能即可。
实现用户的各种权限需求也不需要去修改代码,也不用因此而影响代码如何去设计。只需要按照角色的规则来设置各个角色,即可实现客户的各种需求。
依赖“接口”编程
接口是广义的,不仅局限于interface。

本文提出了通过角色抽象来分离代码与权限需求的思想,遵循依赖接口而非实现编程和最小获知原则。角色作为接口,用于隔离代码和客户权限需求,通过将功能、操作、字段等元素编号并关联到角色,实现权限管理的灵活性,简化代码设计,同时允许客户根据角色进行权限设置,无需修改代码。自然框架采用此方法,通过登记造册各种功能元素并分配编号,实现权限控制的便捷管理。
最低0.47元/天 解锁文章
5万+





