手把手教你落地DDD,25年技术老兵的DDD学习指南

你会学到什么?

  • 20+ DDD 核心概念与模式
  • 三个迭代体验 DDD 落地闭环
  • 通过领域建模深入理解业务需求
  • 企业落地 DDD 的排坑指南

课程简介

DDD(领域驱动设计),在软件工程里属于软件开发方法学的范畴。它继承了面向对象和敏捷方法的精华,并提炼了一套更容易掌握的原则、模式和实践,特别适合复杂的企业应用的开发。

DDD 在开发微服务,遗留系统改造、架构治理、企业架构、研发效能提升、架构师培养等很多方面,都有用武之地。然而,DDD 想要学习和落地并不容易,主要有以下难点:

  • 领域模建模不好掌握;
  • 领域模型不好实现;
  • 概念混乱,资料良莠不齐;
  • 技术环境还是开发理念,随时代有所变化;
  • 有很多具体落地时才会遇到的问题。

为此,我们邀请了 Thoughtworks 首席咨询师钟敬老师,带你扫清以上学习障碍。钟老师将结合自己多年的项目实践经验和培训经验,带你循序渐进地学习、训练。跟着课程一步步建模型、写代码,拾级而上,你将深刻理解 DDD 的重要概念、原理,掌握 DDD 最核心的技能。

课程特色

本课程以案例为导向,模拟了敏捷软件开发过程,老师将结合一个企业管理系统案例,带你体验这该系统的三个迭代。每个迭代的需求规模逐渐扩大,复杂性也逐渐增加,相应也会让你不断深化与之对应的 DDD 模式和实践。

迭代一:打通 DDD 的最小闭环

迭代一主要会带你夯实基础,实现一个“麻雀虽小、五脏俱全”的项目。打通从需求分析,到领域建模,再到架构设计,最后到数据库和代码实现的完整闭环。学完这个迭代,你就有能力处理一些不太复杂的项目了。

迭代二:聚合、值对象和泛化

迭代二会深入讲解 DDD 里争议较大,不太好掌握的内容,包括聚合、值对象等等。同时,还会进一步带你提升领域建模能力,深化对分层架构和代码封装的理解。最后,还会学习重要的建模技巧——泛化,这是领域建模由初级走向中、高级的关键技能。学完这个部分,你会有渐入佳境的感觉。

迭代三:进阶建模、架构和落地技能

迭代三会重点讲解 “限界上下文”、事件驱动和 CQRS 等模式,也你深入讨论怎样为更加灵活多变的业务建模,帮你深化对泛化的理解。还会讲到实践落地的关键要点,比如 DDD 切入点的选择,遗留系统的改造等等。学完这个部分,你将掌握更高阶的 DDD 技能,了解如何应对更大范围的项目。

手把手教你落地DDD,25年技术老兵的DDD学习指南

课程目录

开篇词|带你吃透DDD
01 DDD小传:领域驱动设计为什么这么火?
夯实基础:打通 DDD 的最小闭环
02 迭代一概述:怎样开启一个麻雀虽小五脏俱全的项目?
03 事件风暴(上):怎样和业务愉快地聊需求?
04 事件风暴(下):事件风暴还有哪些诀窍?
05 领域建模实践(上):怎样既准确又深刻地理解业务知识?
06 领域建模实践(下):领域建模还有什么其他技巧?
07 领域建模原理:DDD领域建模和传统方法有什么区别?
08 数据库设计:怎样按领域模型设计数据库?
09 分层架构:怎样逃离“大泥球”?
10 代码实现(上):要“贫血”还是要“充血”?
11 代码实现(中):怎样创建领域对象、实现领域逻辑?
12 代码实现(下):怎样更加“面向对象”?
渐入佳境:聚合、值对象和泛化
13 迭代二概述:怎样更深刻地理解领域知识?
14 聚合的概念:怎样保护业务规则?
15 聚合的实现(上):怎样对聚合进行封装?
16 聚合的实现(中):怎样实现业务规则
17 聚合的实现(下):如何用事务保护聚合?
18 值对象(上):到底什么是值对象?
19 值对象(中):值对象有什么好处?
20 值对象(下):值对象和实体的本质区别是什么?
21 用“限定”建模:怎样简化一对多关联?
22 泛化建模(上):领域知识更抽象怎么办?
23 泛化建模(中):可以不用泛化吗?
24 泛化建模(下):怎样权衡是否采用泛化?
25 泛化的实现(上):怎样为泛化设计数据库?
26 泛化的实现(下):怎样为泛化编写代码
更进一步:进阶建模、架构和落地技能
27 迭代三概述:怎样处理更复杂的需求?
28 限界上下文(上):怎样为更大的需求建模?
29限界上下文(中):限界上下文怎样影响架构设计?
30 限界上下文(下)::限界上下文之间如何集成?
31 CQRS(上):实现查询功能有什么诀窍?
32 CQRS(下):CQRS还有哪些变化?
33 分析模式初探:怎样解决更复杂的问题?
34 落地经验:DDD落地有哪些常见问题?
加餐篇
加餐1|小试牛刀,测测你对DDD的掌握情况
加餐2|读这些书,帮你学懂DDD
加餐 3|这些书里,藏着高手们的“不传之秘
加餐4|建模作业点评直播回放&获奖公示
加餐5|DDD很难,学不会怎么办?
结束语|DDD,是技术也是艺术

讲师介绍

钟敬,Thoughtworks 首席咨询师、数字化转型与运营团队 DDD 负责人。

在 IT 界从业 20 余年,先后在中国人寿、中意人寿、友邦资讯、Thoughtworks 等公司任职,带领团队成功地开发与维护了多个系统,并负责公司的敏捷转型及企业架构工作。

擅⻓面向对象软件开发方法学、领域驱动设计方法、演进式架构、敏捷及精益开发方法,注重学习和推广软件开发的最佳实践,提倡工匠精神。是 Martin Fowler 《分析模式》的译者,还参与审校了《领域特定语言》《DDD 十五年》。

(0)
上一篇 2023年3月9日 下午5:48
下一篇 2023年3月9日 下午10:40

相关推荐

发表回复

登录后才能评论