tnblog
首页
视频
资源
登录

领域驱动设计DDD之Repository

7275人阅读 2022/5/19 10:51 总访问:688048 评论:0 收藏:0 手机
分类: 架构

DDD中的Repository模式

Repository模式也称存储库模式或仓储模式,根据Eric Evans的《领域驱动设计》一书,“存储库是一种封装存储,检索和搜索行为的机制,它模仿对象的集合。”
同样,根据企业应用程序体系结构的模式,它“使用类似集合的接口访问域对象,在域和数据映射层之间进行中介”。
换句话说,存储库还处理数据并隐藏类似于DAO的查询。但是,它处于更高的层次,更接近应用程序的业务逻辑。

Repository模式又称为仓储模式或存储库模式,替代以前的DAO模式,存储库模式限制我们在应用程序直接使用数据库的数据。

Repository设计原则
  • 出参入参不应该使用底层数据格式:
    需要记得的是 Repository 操作的是 Entity 对象(实际上应该是Aggregate Root),而不应该直接操作底层的 DO 。更近一步,Repository 接口实际上应该存在于Domain层,根本看不到 DO 的实现。这个也是为了避免底层实现逻辑渗透到业务代码中的强保障。

  • 不要在仓储内控制事务:
    你的仓储用于管理的是单个聚合,事务的控制应该取决于业务逻辑的完成情况,而不是数据存储与更新情况。


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

领域驱动设计DDD的一点理解

有人误认为项目架构中加入xxRepository,xxDomain,xxValueObject就变成了DDD架构。如果没有悟出其精髓就在项目中加入这些...

领域驱动设计DDD ABP VNext 一:项目架构搭建,模块使用

[TOC]用户接口层改造nuget中下载abp依赖VoLo.Abp.AspNetCore.Mvc ItemGroup添加方式 <ItemGroup> <Packa...

领域驱动设计DDD ABP VNext 二:使用仓储

[TOC]领域驱动设计仓储介绍在领域层和数据映射层之间进行中介,使用类似集合的接口来操作领域对象.” (Martin Fowler)。 实...

领域驱动设计DDD ABP VNext 三:领域模型 失血模型,贫血模型,充血模型,胀血模型

[TOC]领域模型分为:失血模型,贫血模型,充血模型,胀血模型。 一、失血模型传统的三层架构,实体对象就是简单的POJO或者...

领域驱动设计,概念的理解

[TOC]领域服务(Domain Service)领域中的一些概念不太适合建模为对象,即归类到实体对象或值对象,因为它们本质上就是一些...

DDD介绍

领域服务(Domain Services)领域中的一些概念不太适合建模为对象,即归类到实体对象或值对象,因为它们本质上就是一些操作,...

深入理解DDD的聚合模式

[TOC]DDD中的聚合模式是最难弄清楚的一种模式,在如何确定聚合边界这个问题上,更没有一个明确的指导原则,这导致DDD的落地...

领域启动设计DDD 应用服务与领域服务区别

1.领域服务和Application Services 是不同的,Application Services 返回的是DTO,而领域服务返回的是领域对象(实体或者值...

领域启动设计DDD 领域服务与应用服务的区别

在这篇文章中,我们将看一下领域域服务与应用服务有什么不同。 人们常说,领域服务是承载那些不自然地适合实体和值对象的...

基础领域驱动DDD框架搭建,配合sqlsugar基础架构搭建。使用仓储。.net使用Autofac实现自动注入。通过特性封装事务,特性实现工作单元

[TOC]一:创建一个WebApi项目随便取名一个,比如TeacherCertificationAPI效果如下: 顺便在appsettings.json中配置一下...

珍藏!! JS CSS不传秘集合

<!--其中5指每隔5秒刷新一次页面--> <metahttp-equiv="refresh"content="5"> =========...

C MVC RedirectToAction跳转时候传递参数,Action间传值

MVC Action之间传值,页面跳转传值方法一:路由传值很简单直接使用 RedirectToAction(string actionName, string controller...

Net Core使用EFDB First

一.新建一个.net core的MVC项目新建好项目后,不能像以前一样直接在新建项中添加ef了,需要用命令在添加ef的依赖二.使用Nug...

渣渣学安卓登录摸索及页面效果实现

(背景)过完年来,一脸懵逼状态下开始的安卓学习,学错的求解勿喷。创建了个安卓下载地址 有需要的可以直接下载安装链接:...

渣渣学安卓banner图和首页布局

接上文,登录页写完,该上首页了。找度娘搜索 安卓APP首页布局,想借鉴下,没搜到相关代码。只能赶鸭子上架,自己琢磨。效...
如果有缘,错过了还会重来,如果无缘,相遇了也会离开
排名
9
文章
115
粉丝
5
评论
5
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术