组已经有继承关系了,如果角色再有继承关系,如板桥说的,复杂度会非常高
试想,一个用户的权限你得遍历其所在组(所有组包括各自的父组),从这些组中遍历角色(包括所有的角色及其父角色).........从性能上说也不好:)
角色应该是非常独立的,这样在角色分配的时候会非常方便,如果有继承,则当你把某一角色赋给某个人时你不得不去查看其所有父角色的权限,而且很容易引其不必要的权限赋予。。。。。:)
感觉就继承关系本身而言,我们不能限定对于不对,有时候可能是需求。所以我想,如果要解决这个复杂度,关键还在于弄清楚继承关系究竟是否应该存在于“角色”这种对象上。如果有个“岗位”的概念,专门用来体现上下级关系,这时的关系就可以是多层的了,而角色仅仅只是一堆权限的集合。角色应该被赋予岗位,这样应该更符合实际情况一些。
猜你喜欢
本站原创《复杂软件设计之道:领域驱动设计全面解析与实战》