gpt4 book ai didi

design-patterns - 存储库只是单元测试所必需的吗?

转载 作者:行者123 更新时间:2023-12-04 07:21:02 24 4
gpt4 key购买 nike

Ayende前段时间写了一套关于如何做的文章Repositories are the new Singletons图案。我已经阅读了所有内容,我认为并且我同意他的一些观点。大多数时候,我看到的项目有数十个存储库,这些存储库只是为了抽象一个 ORM 的使用,它已经抽象了数据库访问。

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

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

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

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

最佳答案

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

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

另一个预期的副作用是与持久性相关的方法很容易被多个业务逻辑服务重用。

关于design-patterns - 存储库只是单元测试所必需的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14007312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com