【发布时间】:2010-07-16 16:46:22
【问题描述】:
这次我有一个更哲学的问题。
大多数 MVC 教程/书籍似乎建议将一个存储库的范围限制在模型的一个方面,并设置多个存储库以涵盖所有模型类。 (例如:ProjectRep、UserRep、ImageRep,最终都映射到同一个数据库。)
我可以看到这将如何简化单元测试,但我无法想象这将如何在现实世界中发挥作用,因为大多数实体之间都存在关系。最后,我总是发现自己每个 DB 连接都有一个巨大的存储库类和一个同样适用于单元测试的 FakeRepository。
那么,你的意见是什么?我应该更加努力地分离存储库吗? ProductRep 是否通过 PurchaseHistory 引用 UserRep 中的数据,反之亦然?不同的代表如何确保他们在访问单个数据库时不会互相锁定?
谢谢, 达菲
【问题讨论】:
标签: asp.net-mvc design-patterns