我是Repository Pattern的新手并尝试在我的项目中使用它。我的项目中有以下实体:
我有3种类型的用户和UserProfile,其中包含有关密码,用户名等所有三种类型的一般信息。还有许多其他实体,每种类型的用户与其他实体有不同类型的关系。现在我决定为此创建以下存储库模式:
public class UserProfileRepository
{
....
}
public class UserTypeAReository: UserProfileRepository
{
.....
}
public class UserTypeBReository: UserProfileRepository
{
.....
}
public class UserTypeCReository: UserProfileRepository
{
.....
}
所以我想知道这是(存储库继承)是否遵循良好做法还是还有其他更好的方法吗?
修改
1到0..1共享主键关系 b / w UserProfile和(UserTypeA,UserTypeB和UserTypeC)。
答案 0 :(得分:0)
根据您要实现的目标,您还可以使用Interface
或Abstract Class
。
如果您希望所有课程都有普通合同,但每种方法的实施方式不同,那么您可以使用Interface
,这样可以提供更大的灵活性使用C#
多接口继承 v singe class inheritance 。
使用Abstract class
,您可以设置方法以及实现,但允许派生类覆盖基本实现。
此SO帖子也可能有所帮助:Interface vs Base class