【发布时间】:2012-12-22 23:02:41
【问题描述】:
Ayende 前段时间写了一组关于Repositories are the new Singletons 模式的文章。我认为我已经阅读了所有这些内容,并且我同意他的一些观点。大多数时候,我看到有数十个存储库的项目只是为了抽象一个 ORM 的使用,这已经抽象了数据库访问。
在避免它们之后,我开始在为 UT 隔离代码时遇到一些问题,因为某些 ORM 是难以模拟的软件片段,或者至少 EF 是。 Ayende 的一些项目是使用内存数据库进行测试的,但即使运行良好,我也不想这样做。
所以,这是我的问题:我不喜欢拥有数十个典型存储库或通用存储库,但是,我希望有一种简单的方法来隔离我的代码。
目前存储库仅对 UT 有用吗?
注意:我说的是数据库访问,而不是抽象其他类型的数据源,例如远程服务。
【问题讨论】:
标签: design-patterns domain-driven-design repository-pattern ddd-repositories