「交流群入口」
问题收集贴:如果你对 DDD 原书——《领域驱动设计:软件核心复杂性应对之道》有什么疑惑,可以把问题提交到这个链接:https://jinshuju.net/f/uD12Wh
后续会做一期加餐专门讲解!!!
戳此加入,专栏交流群
迭代一配套代码链接:https://github.com/zhongjinggz/geekdemo
你将获得
- 20+ DDD 核心概念与模式
- 三个迭代体验 DDD 落地闭环
- 通过领域建模深入理解业务需求
- 企业落地 DDD 的排坑指南
课程介绍
DDD(领域驱动设计),在软件工程里属于软件开发方法学的范畴。它继承了面向对象和敏捷方法的精华,并提炼了一套更容易掌握的原则、模式和实践,特别适合复杂的企业应用的开发。
DDD 在开发微服务,遗留系统改造、架构治理、企业架构、研发效能提升、架构师培养等很多方面,都有用武之地。然而,DDD 想要学习和落地并不容易,主要有以下难点:
- 领域模建模不好掌握;
- 领域模型不好实现;
- 概念混乱,资料良莠不齐;
- 技术环境还是开发理念,随时代有所变化;
- 有很多具体落地时才会遇到的问题。
为此,我们邀请了 Thoughtworks 首席咨询师钟敬老师,带你扫清以上学习障碍。钟老师将结合自己多年的项目实践经验和培训经验,带你循序渐进地学习、训练。跟着课程一步步建模型、写代码,拾级而上,你将深刻理解 DDD 的重要概念、原理,掌握 DDD 最核心的技能。
课程特色
本课程以案例为导向,模拟了敏捷软件开发过程,老师将结合一个企业管理系统案例,带你体验这该系统的三个迭代。每个迭代的需求规模逐渐扩大,复杂性也逐渐增加,相应也会让你不断深化与之对应的 DDD 模式和实践。
迭代一:打通 DDD 的最小闭环
迭代一主要会带你夯实基础,实现一个“麻雀虽小、五脏俱全”的项目。打通从需求分析,到领域建模,再到架构设计,最后到数据库和代码实现的完整闭环。学完这个迭代,你就有能力处理一些不太复杂的项目了。
迭代二:聚合、值对象和泛化
迭代二会深入讲解 DDD 里争议较大,不太好掌握的内容,包括聚合、值对象等等。同时,还会进一步带你提升领域建模能力,深化对分层架构和代码封装的理解。最后,还会学习重要的建模技巧——泛化,这是领域建模由初级走向中、高级的关键技能。学完这个部分,你会有渐入佳境的感觉。
迭代三:进阶建模、架构和落地技能
迭代三会重点讲解 “限界上下文”、事件驱动和 CQRS 等模式,也你深入讨论怎样为更加灵活多变的业务建模,帮你深化对泛化的理解。还会讲到实践落地的关键要点,比如 DDD 切入点的选择,遗留系统的改造等等。学完这个部分,你将掌握更高阶的 DDD 技能,了解如何应对更大范围的项目。