天道酬勤,学无止境

存储库

如何运用领域驱动设计 - 存储库

概述在上一篇文章中,我们已经了解过领域驱动设计中一个很核心的对象-聚合。在现实场景中,我们往往需要将聚合持久化到某个地方,或者是从某个地方创建出聚合。此时就会使得领域对象与我们的基础架构产生紧密的耦合,那么我们应该怎么隔绝这一层耦合关系,使它们自身的职责界限更加清晰呢?是的,这就要用到我们今天要讲的内容 - 存储库。在很多地方,我们喜欢叫它为仓储,特别是在现有的AspNetCore应用中,大量的应用都在引入Repository这种东西。那么究竟什么是存储库呢?我们现在的使用方式是正确的吗?它在领域驱动设计中又扮演着怎样的角色呢?本文将从不同的角度来带大家重新认识一下“存储库”这个概念,并且给出相应的代码片段(本教程的代码片段都使用的是C#,后期的实战项目也是基于 DotNet Core 平台)。直接看东西“少啰嗦,直接看东西”。是的,在本次的文章中,居然!居然!居然! 附带了Github的代码。本次代码其实是演示工作单元的实现,但是它确实又结合了存储库的一些内容,所以就在这里提供给大家参考。GitHub 地址,点击直达哟这是一个工作单元的超简易版本,您可以在github中看到它的描述和简介,这里我就不再重复了。下一次的文章会对工作单元的实现进行解析和优化,可能它就不属于 《如何运用领域驱动设计》 系列的正传系列了(算个番外吧 ( ̄▽ ̄)")。所以为了您不错过这一部分

2021-04-19 16:28:55    分类:博客    存储库