随笔 - 128  文章 - 0  评论 - 75  阅读 - 11万

随笔分类 -  基于ABP实现DDD

基于ABP实现DDD--领域逻辑和应用逻辑
摘要:本文主要介绍了多应用层的问题,包括原因和实现。通过理解介绍了如何区分领域逻辑和应用逻辑,哪些是正确的实践,哪些是不推荐的或者错误的实践。 一.多应用层的问题 1.多应用层介绍 不知道你们是否会遇到一种情况,通过ABP构建了一个后端的API项目,刚开始是为Web端项目(比如,Vue)提供后端接口服务的 阅读全文
posted @ 2022-07-25 00:24 扫地升 阅读(810) 评论(0) 推荐(1) 编辑
基于ABP实现DDD--实体创建和更新
摘要:本文主要介绍了通过构造函数和领域服务创建实体2种方式,后者多用于在创建实体时需要其它业务规则检测的场景。最后介绍了在应用服务层中如何进行实体的更新操作。 一.通过构造函数创建实体 假如Issue的聚合根类为: public class Issue : AggregateRoot<Guid> { pu 阅读全文
posted @ 2022-07-24 13:09 扫地升 阅读(622) 评论(0) 推荐(1) 编辑
基于ABP实现DDD--领域服务、应用服务和DTO实践
摘要:什么是领域服务呢?领域服务就是领域对象本身的服务,通常是通过多个聚合以实现单个聚合无法处理的逻辑。 一.领域服务实践 接下来将聚合根Issue中的AssignToAsync()方法[将问题分配给用户],剥离到领域服务当中。如下: // ABP当中的领域服务类通常都是以Manager结尾的 publi 阅读全文
posted @ 2022-07-21 08:58 扫地升 阅读(4511) 评论(19) 推荐(8) 编辑
基于ABP实现DDD--仓储实践
摘要:由于软件系统中可能有着不同的数据库,不同的ORM,仓储思想的本质是解耦它们。在ABP中具体的实现仓储接口定义在领域层,实现在基础设施层。仓储接口被领域层(比如领域服务)和应用层用来访问数据库,操作聚合根,聚合根就是业务单元。这篇文章主要分析怎么通过规约将业务逻辑从仓储实现中剥离出来,从而让仓储专注于 阅读全文
posted @ 2022-07-18 22:55 扫地升 阅读(838) 评论(4) 推荐(2) 编辑
基于ABP实现DDD--聚合和聚合根实践
摘要:在下面的例子中涉及Repository、Issue、Label、User这4个聚合根,接下来以Issue聚合为例进行分析,其中Issue聚合是由Issue[聚合根]、Comment[实体]、IssueLabel[值对象]组成的集合。 1.单个单元原则 简单理解,一个聚合就是由实体和值对象组成的集合, 阅读全文
posted @ 2022-07-15 12:56 扫地升 阅读(245) 评论(0) 推荐(0) 编辑
基于ABP实现DDD--DDD相关概念
摘要:什么是DDD呢?领域驱动设计[DDD]是一种针对复杂需求的软件开发方法。将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节。DDD适用于复杂领域和大规模应用,而不是简单的CRUD应用。它有助于建立一个灵活、模块化和可维护的代码库。 一.DDD中的领域层和应用层相关概念 DDD 阅读全文
posted @ 2022-07-15 12:41 扫地升 阅读(248) 评论(2) 推荐(1) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示