新品
DDD 案例实战课
9.98
从零开始,手把手教你实现企业级的 DDD 应用程序
世界500强企业技术总监,IT畅销书作者
加入学习群
免费试学
620 人加入学习
32 小节
·
约 353分7秒
免费试学
介绍
目录
评论

作者介绍

作者简介(2100x389).jpg

天涯兰,世界 500 强企业技术总监,IT 畅销书作者,著有《系统架构设计》《微服务设计原理与架构》《微服务架构实战》等多部书籍。10 余年工作经验,在大型上市公司互联网独角兽企业担任过架构师技术总监,目前带领着百人团队开发医疗健康类智能化软硬件系统。在知识分享领域也有多年经历,主持过十余个面向研发人员的技术和管理类培训课程,阿里云 MVP、腾讯云 TVP

从事软件行业以来,经历过大大小小数十个系统的设计和开发工作,从传统的单体系统到分布式、微服务,再到现在的中台架构。无论技术如何演进和升级,围绕业务展开的架构设计始终是开发人员工作的重点。在这个过程中,我带领着团队成员使用领域驱动的思想和实践来划分业务的边界,并实现各种技术组件。通过对这些落地的经验进行总结和提炼形成了这门课程,分享给大家,也希望和大家一起学习,不断成长。

小册介绍

课程介绍(1624x623).jpg

当下的软件开发,大家都在使用微服务架构。而当我们需要对服务进行拆分和建模时,很多人都会说可以使用领域驱动设计(Domain Driven Design,DDD)。确实,DDD 为我们提供了一种解决方案,告诉我们应该按照业务领域划分业务的边界。那么问题来了,DDD 是如何做到这一点呢?当面对业务需求时,我们如何来引入 DDD 中一系列核心概念呢?就算明白了这些概念,如何让这些概念转化成真正落地的代码呢?本课程将对这些问题进行一一解答。 

QQ截图20220407231423.png

从本质上讲,DDD 针对业务架构和技术架构的融合提供了一套完整的解决方案。这套解决方案包括战略设计,也包括战术设计,并引入了聚合对象、领域事件、资源库、命令服务、查询服务等一系列核心概念。这些概念并不容易理解,而目前业界关于如何实施这些概念也没有一套统一的标准和规范,这就导致我们在具体的开发过程中常常感到无从下手。 

这时候最好的办法就是通过案例来学习 DDD

本课程是一门完全以案例为驱动的 DDD 实战类课程。我们通过设计一个来自现实应用场景的 CustomerService 案例系统来对 DDD 中的各个核心概念进行展开,并提供详细的案例代码来实现 DDD 中的技术组件,这些代码都可以应用到日常开发过程中。

你会学到什么?

作为一门完全由案例分析来驱动的 DDD 课程,我将基于如下所示的思维导图来组织课程的内容:

DDD.png

通过上图,我们可以看到本课程主要包括以下四大模块的内容。

  • 案例分析篇。基于健康医疗领域非常典型的健康监控场景,设计一个名为 CustomerService 的案例系统。基于该案例系统,我将从最原始需求出发,围绕领域驱动设计的理念和实践,分别从子域和限界上下文、领域模型对象、领域事件和事务、应用服务以及限界上下文之间的映射和集成关系出发剖析 CustomerService 案例系统中的 DDD 组件。通过这一模块的学习,你可以掌握在面对具体业务需求时如何从战略的设计到技术的设计对系统进行层层剖析,掌握基于 DDD 完成系统建模的流程方法和技巧。

  • 技术体系篇。全面梳理 DDD 相关概念的具体实现技术以及对应的实现模型。涉及到对事件驱动、系统集成、微服务等主流实现模式的分析,也会给出 Java 世界中构建面向领域系统所需的 Spring Boot、Spring Cloud 等 Spring 家族技术框架的应用,以及 Axon 这款专门面向 DDD 的开发框架。通过这一模块的学习,你可以全面掌握实现 DDD 的技术体系,以及对应的开发框架和工具组件。

  • 案例实现篇。详细介绍案例系统的实现细节,核心技术点包括:通过引入 JPA 来创建领域模型对象,通过 Command 和 Query 构建应用服务,基于 AbstractAggregateRoot 实现单限界上下文中的领域事件,基于 Spring Cloud 实现跨限界上下文中的领域事件以及微服务架构,基于 Axon 框架实现 CQRS、EventSourcing 机制等,并最终给出测试 DDD 的解决方案。通过这一模块的学习,你将整体把握从零开始构建一个面向领域应用程序的实现过程,并基于各个 DDD 核心概念掌握对应的技术实现方案、框架使用方法以及代码实现细节。

  • 实践方法篇。从案例实现上升到工程实践,对如何实现 DDD 的各种架构风格展开讨论,并分析不同架构风格对案例实现过程的影响。同时,梳理基于 DDD 构建应用程序的实施前提和现有系统之间的关系,以及如何与其他架构进行融合的方法。通过这一模块的学习,你将在掌握 DDD 实现技术和过程的基础上,提升自己的方法论和工程实践水平,从而为后续进一步学习和成长奠定更好的基础。

在整个课程中,“案例实现篇”的内容是课程的重点,我们将从零开始构建一个完整的 DDD 系统

QQ截图20220408085727.png

关于案例实现模块的介绍,我同样会采用逐层递进的方式,形成四个构建阶段:

  • 第一阶段的使用聚合+应用服务+资源库构建案例系统;
  • 第二阶段的使用领域事件+上下文集成完成案例系统;
  • 第三阶段的基于 CQRS+EventSourcing 重构案例系统;
  • 第四阶段的基于 Mock 和注解测试案例系统。

其中,后一阶段内容将在前一阶段已实现内容的基础上添加新的 DDD 概念和实现方式,并穿插对 Spring Boot、Spring Cloud 和 Axon 等主流开源框架本身内容的介绍,以确保你能够把握实现过程中的每一个步骤和细节。

名人推荐

名人推荐1.jpeg

名人推荐2.jpeg

适宜人群

  • 后端开发人员和架构设计人员。他们希望通过引入或者更好地使用 DDD 来提升自己的系统建模和架构能力。而本课程作为一门体系化的 DDD 实战类课程,恰好能够给到全面而完整的技术体系和实践技巧。

  • 对 DDD 框架感兴趣的开发人员。他们希望能够通过一些优秀架构设计方法论来构建自己的知识体系。本课程就是一个很好的选择,因为 DDD 目前非常热门,并且在微服务架构设计领域得到了广泛的应用,内部所包含的设计理念也大多具备通用性。

  • 广大高校学生。他们希望系统学习一些软件开发相关的知识体系,从而为后续的学习和工作打好基础,本课程也可以满足这部分需求。

购买须知

  1. 本小册为图文形式内容服务,共计 32 节;
  2. 自上线之日,每周更新 2 篇文章,全部文章预计 6 月 29 日更新完成;
  3. 购买用户可享有小册永久的阅读权限;
  4. 购买用户可进入小册微信群,与作者互动;
  5. 掘金小册为虚拟内容服务,一经购买成功概不退款;
  6. 掘金小册版权归所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、北京北比信息技术有限公司转贴或以其他方式复制发布/发表,违者将依法追究责任;
  7. 在掘金小册阅读过程中,如有任何问题,请邮件联系 xiaoce@xitu.io
推荐小册
京ICP备18012699号-3 ©版权所有 北京北比信息技术有限公司

公司地址:北京市海淀区信息路甲28号13层B座13B-5 | 公司座机:010-83434395