DDD 案例实战课- 掘金小册课程推荐/优惠

DDD 案例实战课--掘金小册课程推荐/优惠

从零开始,手把手教你实现企业级的 DDD 应用程序
天涯兰
32讲 | 1205人已学习
优惠价¥49.9
官网优惠购买

版权声明

本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

课程介绍

作者介绍

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

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

小册介绍

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

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

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

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

你会学到什么?

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

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

  • 案例分析篇。基于健康医疗领域非常典型的健康监控场景,设计一个名为 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 系统

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

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

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

名人推荐

适宜人群

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

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

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

课程目录

  • 七大维度:正确实施 DDD 的设计方法包括哪些核心技术组件?
  • 案例驱动:如何基于 DDD 对案例系统进行建模?
  • 开篇词:面对业务需求,如何让 DDD 真正落地?
  • 技术模型:开发 DDD 应用有哪些主流的实现模型?
  • 拆分与集成:子域和限界上下文应该怎么划分才合理?
  • 模型与对象:提取聚合、实体和值对象有哪些技巧?
  • 事件与事务:事件驱动架构在 DDD 中究竟应该怎么用?
  • 命令与查询:基于 CQRS 设计应用服务需要考虑哪些要素?
  • 开发框架(上):使用 Spring Boot 就能开发 DDD 应用吗?
  • 开发框架(中):Spring Cloud 如何简化 DDD 应用的实现过程?
  • 开发框架(下):Axon 内置了哪些即插即用的 DDD 技术组件?
  • 代码结构:DDD 应用中的代码应该如何组织?
  • 数据访问:如何对资源库的实现进行技术选型?
  • 领域逻辑:如何为聚合对象添加业务逻辑?
  • 服务定义:Command 服务和 Query 服务应该包含哪些功能?
  • 案例构建阶段一:使用聚合+资源库+应用服务构建案例系统
  • 事件生成:如何在单个限界上下文中生成领域事件?
  • 事件传播:如何在跨限界上下文之间传播领域事件?
  • 集成策略:实现限界上下文集成有哪些注意点?
  • 案例构建阶段二:使用领域事件+上下文集成完成案例系统
  • 模式创新:想要在 DDD 应用中引入 EventSourcing 应该怎么做?
  • 处理拦截:Axon 中包含哪些 Handler 组件?用法有什么区别?
  • 总线机制:如何基于 Axon 的 Bus 组件实现分派模型?
  • 案例构建阶段三:基于 EventSourcing+CQRS 重构案例系统
  • 测试方案:DDD 组件应该如何验证正确性?
  • 案例构建阶段四:基于 Mock 和注解测试案例系统
  • 架构对比:DDD 架构风格有哪些?对实现过程有什么影响?
  • 实施策略:如何裁剪基于 DDD 构建应用程序的方法?
  • 设计融合:DDD 与其他架构能够配合使用吗?
  • 加餐二:CustomerServiceAxon 案例系统实战操作演练
  • 结束语:以终为始,DDD 课程总结
  • 加餐一:CustomerService 案例系统实战操作演练

作者介绍

世界500强企业技术总监,IT畅销书作者

作者其他课程

分布式服务面试精讲 - 掘金小册课程推荐/分享/优惠/折扣
分布式服务面试精讲
技术原理剖析+面试技巧演练,带你攻克分布式面试核心考点,轻松拿下大厂高薪 Offer
天涯兰
1102人已学习
优惠价¥49.9
官网优惠购买
Java 企业级项目核心技术精讲 - 掘金小册课程推荐/分享/优惠/折扣
Java 企业级项目核心技术精讲
场景化开发,通过项目实战掌握核心技术
天涯兰
442人已学习
优惠价¥49.9
官网优惠购买
Java 应用安全性必知必会 - 掘金小册课程推荐/分享/优惠/折扣
Java 应用安全性必知必会
从 0 到 1 手把手教你使用 Spring Security 构建一套强大的安全体系
天涯兰
524人已学习
优惠价¥39.9
官网优惠购买

推荐

基于 Stencil 构建 Web Components 组件库 - 掘金小册课程推荐/分享/优惠/折扣
基于 Stencil 构建 Web Components 组件库
使用 Stencil ,让你的组件 Write once,Run anywhere !
Super_x
861人已学习
优惠价¥29.9
官网优惠购买
Flutter 路由导航: 源码探索与实战 - 掘金小册课程推荐/分享/优惠/折扣
Flutter 路由导航: 源码探索与实战
路由导航是应用程序必须的一环,从源码到实践完全解读。
张风捷特烈
589人已学习
优惠价¥9.9
官网优惠购买
Flutter 跨平台开发实战 - 掘金小册课程推荐/分享/优惠/折扣
Flutter 跨平台开发实战
完整实现 3 个实战项目,给你即学即用的 Flutter 实战课
萧文翰
734人已学习
优惠价¥49.9
官网优惠购买
HTML5 游戏开发快速提升 - 掘金小册课程推荐/分享/优惠/折扣
HTML5 游戏开发快速提升
带你快速掌握html5游戏开发基本功,助你快速进阶游戏开发
海盗哥
964人已学习
优惠价¥19.9
官网优惠购买
MySQL 是怎样使用的:从零蛋开始学习 MySQL - 掘金小册课程推荐/分享/优惠/折扣
MySQL 是怎样使用的:从零蛋开始学习 MySQL
来来来,你什么都不用会,真正的从零蛋开始系统又轻松地学习MySQL。
小孩子4919
5803人已学习
优惠价¥19.9
官网优惠购买
技术写作指南 - 掘金小册课程推荐/分享/优惠/折扣
技术写作指南
十余年写作经验倾囊相授,全面提升你的技术写作能力!
张鑫旭
3371人已学习
优惠价¥19.9
官网优惠购买