c#Repository 模式:每个子类一个存储库?
Posted
技术标签:
【中文标题】c#Repository 模式:每个子类一个存储库?【英文标题】:c#Repository pattern: One repository per subclass? 【发布时间】:2011-01-31 21:57:48 【问题描述】:我想知道您是否会为域模型的每个子类创建一个存储库。 例如有两个类:
公共类人 公共虚拟字符串 GivenName 设置;得到; 公共虚拟字符串 FamilyName 设置;得到; 公共虚拟字符串 EMailAdress 设置;得到; 公共类客户:人 公共虚拟日期时间注册日期获取;放; 公共虚拟字符串密码获取;放;您是要同时创建 PersonRepository 和 CustomerRepository 还是只创建一个 PersonRepository 来执行与客户相关的查询?
【问题讨论】:
【参考方案1】:这实际上取决于您的域的工作方式。通常,您的域中的每个 Aggregate Root(DDD 术语表示父实体,但不是传统的继承方式)都有一个存储库。
如果您确实将 Person 和 Customer 都作为您的域的一部分使用,那么每个存储库都是合适的。存储库不需要有大量的实现,并且存储库通常可以共享很多它们的实现,尤其是在使用 ORM 时。
This page 很好地介绍了存储库模式的目标。 Domain Driven Design 方法是一个很好的起点。
【讨论】:
仓库模式介绍的链接好像坏了。你能提供一个新的来源吗?以上是关于c#Repository 模式:每个子类一个存储库?的主要内容,如果未能解决你的问题,请参考以下文章
GitHub Actions:在 Windows 环境中缓存 Maven .m2 存储库 C\:\\Users\runneradmin\\.m2\repository:无法统计:没有这样的文件或目录