首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储库模式是过度杀伤力吗?

存储库模式是过度杀伤力吗?
EN

Stack Overflow用户
提问于 2010-08-04 19:45:03
回答 3查看 1.2K关注 0票数 10

我使用Repository模式(DDD和POEAA)已经有一段时间了。然而,我们的一些团队成员认为这只是一个额外的抽象层,没有必要。我可以从他们的论点中看到一些好处。现代对象关系管理解决方案(NHibernate或EF)几乎拥有您需要的一切。我搜索并找到了一些关于这个主题的文章,比如thiscounterargument。那么,存储库模式是一种过度杀伤力吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-04 19:52:03

这主要取决于问题的复杂性以及域模型在解决方案中所扮演的角色。对于简单的解决方案,Repository可能是过度杀伤力。但对于具有健壮的语言和不断变化的需求/要求的复杂领域,Repository是一个很好的、干净的抽象,它拥有域对象的生命周期。许多ORM都会做这方面的工作,但在一个复杂的领域中,总会有一些领域活动在存储库中是有意义的,并且开箱即用ORM不支持。

底线:这取决于上下文。

票数 12
EN

Stack Overflow用户

发布于 2010-08-04 19:53:06

在单元测试中模拟数据访问是我使用存储库接口的主要原因。可维护性的另一个原因-您可以轻松地实现缓存策略,或者切换到其他数据访问实现,例如从服务而不是从DB获取数据。

票数 4
EN

Stack Overflow用户

发布于 2010-08-05 00:50:45

我们在我们的项目中使用存储库的一个原因是,它强制我们的聚合根是谁(我们只允许AR的存储库),这样您就可以通过AR正确地工作,而不是查询任何您喜欢的东西。

就像艾尔提到的..。它确实提供了一个很好的接口,可以在单元测试期间模拟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3405153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档