微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设计模式 – 存储库只是单元测试所必需的吗?

Ayende前段时间写了一套关于 Repositories are the new Singletons模式的文章.我已经读完了所有这些,我想,我同意他的几点意见.大多数时候,我看到有几十个存储库的项目只是为了抽象一个ORM的使用,它已经抽象了数据库访问.

在避免它们之后,我开始遇到一些问题来隔离我的UT代码,因为有些ORM是难以模拟的软件,或者至少是EF.一些Ayende的项目使用内存数据库进行测试,但即使它工作正常,我也不想这样做.

所以,这是我的问题:我不想拥有数十个典型的存储库,也不喜欢通用存储库,但是,我希望有一种简单的方法来隔离我的代码.

目前存储库仅对UT有用吗?

注意:我说的是数据库访问,而不是抽象其他类型的数据源,如远程服务.

解决方法

对我来说,存储库(或DAO)很有用,因为它们将与持久性相关的代码与业务逻辑代码隔离开来.

(期望的)副作用之一是业务逻辑代码和数据访问代码变得更容易测试.

一个期望的副作用是持久性相关方法可以通过多个业务逻辑服务轻松地重用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐