我计划的网络系统主要有两种类型的用户。我的项目由Play提供支持!框架和ebean作为ORM层。
现在,使用OOP透视图,我应该创建一个User
模型,然后再创建另外两个扩展User
的类。另一种方式,相对简单的是创建两个不同的模型,因此创建两个不同的DB表。
选择的最佳方式是什么?为什么?
由于
答案 0 :(得分:1)
如果有什么东西并且永远是泛化的特化,那么使用继承。
如果某些东西扮演某种角色,那就使用构图。
示例:
个人始终是抽象的合法政党的专长。
一个人可能有一天是客户,下一个是员工,下一个是供应商。他们扮演这些角色。在这种情况下使用组合。
那么对于您的用户来说,他们是永久专业吗?或者他们是不同的角色?