当“逻辑”与“UE”冲突时

image

如上图。

权限系统有三个对象:用户、角色和组。

角色代表自定义的权限集合。

“组”你可以理解为“文件夹”、“部门”等名词。

一个用户可以拥有多个角色。

一个角色可以拥有多个其他角色(即继承这些角色的权限)。

一个组可以“盛放”多个用户和角色;一个组可以拥有多个角色。

实际情况是,如图,新建角色时,用户可以拖动左边Tree上的角色到“添加角色”的框中,达到“一个角色可以继承多个角色”的目的。同时可以拖动用户和组到“添加成员”的框中,使这些用户、组继承此角色所代表的权限。

但是问题来了,为什么“添加成员”只接受用户、组两种对象,而不接受“角色”对象呢?这就是我们的分歧点。

UE认为,如果“添加角色”和“添加成员”如果都接受“角色”对象时,会造成用户对操作理解上的混乱。

而我认为,对于“添加成员”而言,“角色”对象和“用户”、“组”等对象在逻辑上是对等的,将它排除在外是不合理的。而且照UE的观点设计,当我想将新建的角色赋予给多个旧角色时,不得不一个个地打开旧角色,将新角色拖动到一个个的“添加角色”的框中,这样的操作在UE设计角度来讲也是不科学的。

原文地址:https://www.cnblogs.com/KuTeng/p/4581711.html