为了账号安全,请及时绑定邮箱和手机立即绑定

java类设计问题?

java类设计问题?

慕妹3242003 2019-03-21 18:15:21
我在用ssh写一个基本功能论坛,但是在设计实体类的时候有些迷惑,就是用户的实体类要怎么设计呢,我希望有超级管理员,版主及普通会员,超级管理员和版主会比普通用户多出许多类方法,并且不同角色的成员变量可能也会有许多不同,请问我是应该用一个类表示所有用户还是用继承或者接口什么的来实现我希望的功能呢,麻烦大家指点一下,谢谢
查看完整描述

4 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

在设计思路上就走偏了,不可以想着在用户类里面放置权限的东西,用户就是用户,权限就是权限,这要区分开来。

用户类仅存储用户的基本信息,如用户名、登录名、姓名、昵称等等,如果你想要不同用户拥有不同的权限去控制你的论坛功能,那么就需要额外的权限角色管理,定义好角色所拥有的权限,然后再把角色分配给用户。

这样才是正确的权限控制管理思路。


查看完整回答
反对 回复 2019-04-25
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

这个不是类涉及的问题,而是权限角色管理的问题.你就一个用户类,有的用户能点删除,有的用户不能点.
权限控制的一个框架

查看完整回答
反对 回复 2019-04-25
?
跃然一笑

TA贡献1826条经验 获得超6个赞

应该用继承来实现,按权限来说 超级管理员 > 版主 > 普通会员 > 普通用户, 并且从功能上来说, 前者会依次包含后者的所有功能,也就是 只要普通用户有的, 其他三个角色也会有, 所以继承的结构上就和权限的顺序一样了。 
并且使用继承的一个好处就是如果你使用ORM框架(如MyBatis)的话,针对普通用户的所有数据库交互都适用于后者。

查看完整回答
反对 回复 2019-04-25
?
慕森卡

TA贡献1806条经验 获得超8个赞

个人觉得,最好是单一的用户类,程序内部其实是可以调用所有功能的。调用前判断下用户权限,来区分不同权限的用户操作


查看完整回答
反对 回复 2019-04-25
  • 4 回答
  • 0 关注
  • 416 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号