【发布时间】:2011-09-23 19:02:14
【问题描述】:
我有一个基本的用户模型,可以满足一般用户的所有需求。我现在需要为用户创建几个不同的角色,每个角色都有大约 10-20 种其他角色无法使用的不同方法。
假设我必须加载通用 User 类来确定用户的角色...
由于将这么多不同的基于角色的方法打包到通用用户模型中(当它们不能被所有角色使用时)效率低且繁重,让用户访问其基于角色的方法的最佳方式是什么只在他们需要的时候?
以下是我正在折腾的一些想法:
每个角色有一个单独的服务类,根据用户的角色交给User类
简单地围绕用户类中的所有方法,只有当用户具有正确的角色时才允许访问每个方法。
完全重构并让基于角色的类继承自 User 类。
这些有什么好主意,还是有更好的主意?
【问题讨论】: