假设我的系统中有两种类型的用户,教师和学生。现在教师和学生数据都存储在表用户中。因此我有一个类 User,它对应于表 User。
但后来我创建了两个类,教师和学生,它们从用户继承。除了有一些额外的属性和方法之外,这些类使代码更清晰。(我比 User 对象更了解 Teacher 对象。在教师的默认 Ctor 中,我将 UserType 等字段设置为教师的默认值)
现在我主要在 api/表示层/服务层使用教师/学生对象。但是对于数据访问层,我必须传递一个用户对象,因为它是存储在用户表中的。所以我需要从教师/学生对象中获取用户对象。
我想避免编写代码将每个属性从教师复制到用户,并且想知道其他人如何做到这一点?
另外,有没有更好的方法来设计这个而不是单独的教师/学生班级?