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

如上图。
权限系统有三个对象:用户、角色和组。
角色代表自定义的权限集合。
“组”你可以理解为“文件夹”、“部门”等名词。
一个用户可以拥有多个角色。
一个角色可以拥有多个其他角色(即继承这些角色的权限)。
一个组可以“盛放”多个用户和角色;一个组可以拥有多个角色。
实际情况是,如图,新建角色时,用户可以拖动左边Tree上的角色到“添加角色”的框中,达到“一个角色可以继承多个角色”的目的。同时可以拖动用户和组到“添加成员”的框中,使这些用户、组继承此角色所代表的权限。
但是问题来了,为什么“添加成员”只接受用户、组两种对象,而不接受“角色”对象呢?这就是我们的分歧点。
UE认为,如果“添加角色”和“添加成员”如果都接受“角色”对象时,会造成用户对操作理解上的混乱。
而我认为,对于“添加成员”而言,“角色”对象和“用户”、“组”等对象在逻辑上是对等的,将它排除在外是不合理的。而且照UE的观点设计,当我想将新建的角色赋予给多个旧角色时,不得不一个个地打开旧角色,将新角色拖动到一个个的“添加角色”的框中,这样的操作在UE设计角度来讲也是不科学的。
当“逻辑”与“UE”冲突时的更多相关文章
- EXT--当defaultType与items的子组件默认xtype冲突时items的子组件的xtype为panel
示例图 直接看下面示例代码: /** * 获取导入表单 * @returns {Ext.FormPanel} */ function getImportForm() { return new Ext. ...
- 17.分支的合并&遇到冲突时的分支合并
分支的合并 假设你已经修正了 #53 问题,并且打算将你的工作合并入 master 分支. 为此,你需要合并 iss53 分支到 master 分支,这和之前你合并 hotfix 分支所做的工作差不多 ...
- git 出现冲突时的解决办法
<一> 二者兼得最麻烦 1, 出现冲突一般出现在群体开发两个及以上开发者同时修改同一个文件时 2, 具体表现为 git pull , git push 和 git commit 命令执行失 ...
- svn 出现冲突时可以使用 meld . 命令合并。 而git的冲突合并详见内容
1.可以在任意目录使用 git mergetool --tool-help 查看 git 所支持的merge tools. 2.可以使用如下配置去设置merge tool 和 diff tool ...
- vue.js与后台模板引擎“双花括号”冲突时的解决办法
后台渲染模板如swig,也使用“{{ }}“作为渲染,与前端vue的产生冲突,此时只要在新建Vue对象时,添加delimiters: ['${', '}'],就搞定了,代码如下 <!DOCTYP ...
- 有事务冲突时节点怎么加入MGR集群
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 问题场景描述 2. 如何修复 2.1 找出事务差异点 2.2 决定如何处理 3. 小结 文章推荐: 关于 Gr ...
- 拖拽手势和清扫手势冲突时(UIPanGestureRecognizer和UISwipeGestureRecognizer冲突时)
故事发生在这样的情境上:给整个控制器添加了一个拖拽手势,然后又在控制上的每个Cell上加了左滑清扫手势,然后问题来了:只有拖拽手势起作用,而左滑手势没有效果了,然后怎么解决这个问题呢!先上图: 当给整 ...
- gcc中不同namespace中同名class冲突时
正常情况下,编译器都会报错,提示你有两个候选类,让你明确的选择一个. 比如我的情况,我自己设计了一个类Message, 然后在某个文件里面引用了它.但是我的文件中又引入了mongodb的头文件,非常不 ...
- svn项目冲突时显示无法加载项目的解决方法
1.无法加载的项目会显示成灰色.这是右键点击编辑 打开后去掉乱字符. 2.完成后会有红色的叹号 这是右键 找到解决冲突即可 然后提交
随机推荐
- XGrid绑定(转)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Fo ...
- JDBC-ODBC桥接方法连接Excel数据库的方法
通过JDBC-ODBC桥接器访问Excel电子表格 1.设置数据源 Excel数据源选择的驱动程序是Microsoft Excel Driver 2.选择表 与访问其他数据库不同的是,我们必须在电子表 ...
- go exec: "gcc": executable file not found in %PATH%
win下使用go,在进行go run build.go时,提示 exec: "gcc": executable file not found in %PATH% 原因是sqlitl ...
- .net MVC 碰到的问题
1:问:回车会默认会触发页面从左边至右,从上到下索引位置第一的按钮事件.如何取消? 答:在不需要触发按钮事件的按钮中加一个属性:UseSubmitBehavior="false" ...
- 创建C#串口通信程序详解
在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports.这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信.我们将使用标准 ...
- 保持长宽比 对背景图像进行修改android:scaleType="fitXY"
关于android中ImageView的外观,即图片在其内显示出的样子,与布局文件中adjustViewBonds和scaleType属性的关系.我进行了一些探索.现跟大家共享,欢迎各位指教.分别将a ...
- ProgressCircular
https://github.com/eltld/ProgressCircular
- Android游戏背景音乐音效音量控制
游戏音效就是我们在玩游戏时出现的音乐,这个也是每个游戏必备的一部分,但有是你做游戏的背景音乐有间断的感觉的话,我们可以用 getCurrentPosition()这个方法来判断一下声音播放的偏移.其实 ...
- SQL Server复制入门(一)----复制简介【转】
SQL Server复制入门(一)----复制简介 简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是 ...
- Eclipse启动Tomcat时,45秒超时解决方案
在Eclipse中启动Tomcatserver时,常常因为系统初始化项目多,导致出现45秒超时的Tomcatserver启动错误,出现以下的错误. 曾经我们一般通过找到XML配置文件,将相应Timeo ...