java类设计问题?
天蓬老师
天蓬老师 2017-04-18 10:12:29
[Java讨论组]

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
黄舟

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

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

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

ringa_lee

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

ringa_lee

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

黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号