2010-05-05 54 views
2

使用存储库模式时,建议每个数据库表有一个存储库类?我是否也将一个服务层类映射到一个存储库类。我很难理解一个存储库或服务层类应该有多少东西。要放入Repository类多少钱?

谢谢!

回答

3

对于每个在您的域中是根聚合的类,您应该有一个存储库。

+1

根集合是什么? – chobo 2010-05-05 22:08:58

+0

你可以在这里找到一些信息:http://stackoverflow.com/questions/1958621/whats-an-aggregate-root – Dan 2010-05-06 13:43:14

3

存储库应该独立于您的数据库结构。它们封装了从数据库映射到域模型的所有工作,反之亦然。这可能涉及1个数据库表,或者它可能来自10个表,这并不重要。

通常,单个存储库对应于单个域模型类,但这也不是不可破解的规则。如果您有几个非常密切相关的域类,特别是在继承或包含关系中,那么存储库处理多个不同类型的情况并不罕见。不过,如果可以的话,尝试坚持一个是个好主意。