【发布时间】:2010-05-05 21:34:09
【问题描述】:
在使用存储库模式时,是否建议为每个数据库表设置一个存储库类?我是否还将一个服务层类映射到一个存储库类。我很难理解一个存储库或服务层类应该有多少东西。
谢谢!
【问题讨论】:
标签: design-patterns repository-pattern
在使用存储库模式时,是否建议为每个数据库表设置一个存储库类?我是否还将一个服务层类映射到一个存储库类。我很难理解一个存储库或服务层类应该有多少东西。
谢谢!
【问题讨论】:
标签: design-patterns repository-pattern
您应该为每个作为您域中根聚合的类的存储库。
【讨论】:
存储库应该独立于您的数据库结构。它们封装了从数据库映射到您的域模型的所有工作,反之亦然。这可能与 1 个数据库表有关,也可能来自 10 个表,没关系。
通常,单个存储库对应于单个域模型类,但这也不是一个牢不可破的规则。如果您有几个非常密切相关的域类,尤其是在继承或包含关系中,那么存储库处理多个不同类型的情况并不少见。不过,如果可以的话,尝试只坚持一个是个好主意。
【讨论】: