我在用ssh寫一個基本功能論壇,但是在設計實體類的時候有些迷惑,就是用戶的實體類要怎么設計呢,我希望有超級管理員,版主及普通會員,超級管理員和版主會比普通用戶多出許多類方法,并且不同角色的成員變量可能也會有許多不同,請問我是應該用一個類表示所有用戶還是用繼承或者接口什么的來實現(xiàn)我希望的功能呢,麻煩大家指點一下,謝謝
4 回答

慕田峪4524236
TA貢獻1875條經(jīng)驗 獲得超5個贊
在設計思路上就走偏了,不可以想著在用戶類里面放置權(quán)限的東西,用戶就是用戶,權(quán)限就是權(quán)限,這要區(qū)分開來。
用戶類
僅存儲用戶的基本信息,如用戶名、登錄名、姓名、昵稱等等,如果你想要不同用戶擁有不同的權(quán)限去控制你的論壇功能,那么就需要額外的權(quán)限角色管理,定義好角色
所擁有的權(quán)限,然后再把角色分配給用戶。
這樣才是正確的權(quán)限控制管理思路。

慕婉清6462132
TA貢獻1804條經(jīng)驗 獲得超2個贊
這個不是類涉及的問題,而是權(quán)限角色管理的問題.你就一個用戶類,有的用戶能點刪除,有的用戶不能點.
權(quán)限控制的一個框架

躍然一笑
TA貢獻1826條經(jīng)驗 獲得超6個贊
應該用繼承來實現(xiàn),按權(quán)限來說 超級管理員 > 版主 > 普通會員 > 普通用戶, 并且從功能上來說, 前者會依次包含后者的所有功能,也就是 只要普通用戶有的, 其他三個角色也會有, 所以繼承的結(jié)構(gòu)上就和權(quán)限的順序一樣了。
并且使用繼承的一個好處就是如果你使用ORM框架(如MyBatis)的話,針對普通用戶的所有數(shù)據(jù)庫交互都適用于后者。

慕森卡
TA貢獻1806條經(jīng)驗 獲得超8個贊
添加回答
舉報
0/150
提交
取消