随笔分类 -  DDD

摘要:实现领域驱动设计 - 使用ABP框架 - 系列文章汇总系列文章汇总 前言: 最近看到ABP官网的一本电子书,感觉写的很好,翻译出来,一起学习下 Implementing Domain Driven Design 实现领域驱动设计 - 使用ABP框架 - 什么是领域驱动设计? 实现领域驱动设计 - 使用ABP框架 - 解决方案概览 实现领域驱动设计 - 阅读全文
posted @ 2022-06-25 11:14 Broadm 阅读(526) 评论(2) 推荐(2) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 领域逻辑 & 应用逻辑领域逻辑 & 应用逻辑 如前所述,领域驱动设计中的业务逻辑分为两部分(层):领域逻辑和应用逻辑: 领域逻辑由系统的核心领域规则组成,应用逻辑实现应用特定的用例 虽然定义很明确,但实现起来可能并不容易。您可能无法决定哪些代码应该位于应用程序层,哪些代码应该位于领域层。本节试图解释其中的差异 多个应用程 阅读全文
posted @ 2022-06-24 14:42 Broadm 阅读(487) 评论(0) 推荐(1) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 更新操作实体用例演示 - 更新 / 操作实体 一旦一个实体被创建,它将被用例更新/操作,直到它从系统中删除。可以有不同类型的用例直接或间接地更改实体 在本节中,我们将讨论更改 Issue 的多个属性的典型更新操作。 这次,从更新DTO开始: public class UpdateIssueDto { [Requ 阅读全文
posted @ 2022-06-24 10:53 Broadm 阅读(264) 评论(0) 推荐(0) 编辑
摘要:实现领域驱动设计 - 使用ABP框架  - 创建实体用例演示 - 创建实体 本节将演示一些示例用例并讨论可选场景。 创建实体 从实体/聚合根类创建对象是实体生命周期的第一步。聚合/聚合根规则和最佳实践部分 建议为Entity类创建一个主构造函数,以保证创建一个有效的实体。因此,无论何时我们需要创建实体的实例,我们都应该使用那个构造函数 参见下面的问题 阅读全文
posted @ 2022-06-24 10:09 Broadm 阅读(848) 评论(1) 推荐(3) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 应用程序服务应用程序服务 应用程序服务是一种无状态的服务,它实现应用程序的用例。应用程序服务通常获取和返回dto。它由表示层使用。它使用并协调领域对象(实体、存储库等)来实现用例 应用程序服务的常见原则如下: 实现特定于当前用例的应用程序逻辑。不要在应用程序服务内部实现核心领域逻辑。我们将回到应用程序领域逻辑之 阅读全文
posted @ 2022-06-23 17:50 Broadm 阅读(254) 评论(0) 推荐(0) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 领域服务领域服务 领域服务实现领域逻辑 依赖于服务和存储库。 需要处理多个聚合,因为该逻辑不适合任何聚合。 领域服务与领域对象一起工作。它们的方法可以获取并返回实体、值对象、原始类型……但是,它们不获取/返回dto。dto是应用层的一部分 示例:分配问题给用户 记住问题分配是如何在问题实体中实现的 publ 阅读全文
posted @ 2022-06-23 16:24 Broadm 阅读(193) 评论(2) 推荐(0) 编辑
摘要:实现领域驱动设计 - 使用ABP框架  - 存储库存储库 Repository 是一个类似于集合的接口,领域层和应用程序层使用它来访问数据持久性系统(数据库),以读写业务对象(通常是聚合) 常见的存储库原则是: 在领域层定义一个存储库接口(因为它被用于领域层和应用层),在基础设施层实现(启动模板中的EntityFrameworkCore项目) 不要 阅读全文
posted @ 2022-06-23 15:48 Broadm 阅读(720) 评论(0) 推荐(3) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 聚合这是本指南的关键部分。我们将通过实例介绍和解释一些明确的规则。在实现领域驱动设计时,您可以遵循这些规则并将其应用到您的解决方案中 领域案例 这些例子将使用GitHub中使用的一些概念,比如Issue, Repository, Label和User,你已经很熟悉了。下图显示了一些聚合、聚合根、实体、值 阅读全文
posted @ 2022-06-23 14:10 Broadm 阅读(652) 评论(0) 推荐(1) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 通用准则在进入细节之前,让我们看看一些总体的 DDD 原则 数据库提供者 / ORM 无关性 领域和应用程序层应该与 ORM / 数据库提供程序 无关。它们应该只依赖于 Repository 接口,而 Repository 接口不使用任何 ORM 特定的对象 下面说明这一原则的主要原因: 为了使您的 领域/ 阅读全文
posted @ 2022-06-23 09:33 Broadm 阅读(223) 评论(0) 推荐(0) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 解决方案概览.NET解决方案的分层 下图显示了使用ABP的 应用启动模板 创建的Visual Studio解决方案: 解决方案名称为问题跟踪,它由多个项目组成。通过考虑DDD原则以及开发和部署实践,该解决方案是分层的。下面的小节解释了解决方案中的项目 领域层 领域层分为2个项目 IssueTracking.Do 阅读全文
posted @ 2022-06-22 17:37 Broadm 阅读(535) 评论(0) 推荐(3) 编辑
摘要:实现领域驱动设计 - 使用ABP框架 - 什么是领域驱动设计?前言: 最近看到ABP官网的一本电子书,感觉写的很好,翻译出来,一起学习下 (Implementing Domain Driven Design) https://abp.io/books DDD简介 领域驱动设计(DDD)是一种通过将实现连接到演进的模型来实现复杂需求的软件开发方法 相对于简单的C 阅读全文
posted @ 2022-06-22 09:22 Broadm 阅读(463) 评论(0) 推荐(2) 编辑

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