手把手教你落地DDD--极客时间课程推荐/优惠
版权声明
本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
你将获得:
- 20+ DDD 核心概念与模式;
- 三个迭代体验 DDD 落地闭环;
- 通过领域建模深入理解业务需求;
- 企业落地 DDD 的排坑指南。
课程介绍
DDD(领域驱动设计),在软件工程里属于软件开发方法学的范畴。它继承了面向对象和敏捷方法的精华,并提炼了一套更容易掌握的原则、模式和实践,特别适合复杂的企业应用的开发。
DDD 在开发微服务,遗留系统改造、架构治理、企业架构、研发效能提升、架构师培养等很多方面,都有用武之地。然而,DDD 想要学习和落地并不容易,主要有以下难点:
- 领域模建模不好掌握;
- 领域模型不好实现;
- 概念混乱,资料良莠不齐;
- 技术环境还是开发理念,随时代有所变化;
- 有很多具体落地时才会遇到的问题。
为此,我们邀请了 Thoughtworks 首席咨询师钟敬老师,带你扫清以上学习障碍。钟老师将结合自己多年的项目实践经验和培训经验,带你循序渐进地学习、训练。跟着课程一步步建模型、写代码,拾级而上,你将深刻理解 DDD 的重要概念、原理,掌握 DDD 最核心的技能。
课程特色
本课程以案例为导向,模拟了敏捷软件开发过程,老师将结合一个企业管理系统案例,带你体验这该系统的三个迭代。每个迭代的需求规模逐渐扩大,复杂性也逐渐增加,相应也会让你不断深化与之对应的 DDD 模式和实践。
迭代一:打通 DDD 的最小闭环
迭代一主要会带你夯实基础,实现一个“麻雀虽小、五脏俱全”的项目。打通从需求分析,到领域建模,再到架构设计,最后到数据库和代码实现的完整闭环。学完这个迭代,你就有能力处理一些不太复杂的项目了。
迭代二:聚合、值对象和泛化
迭代二会深入讲解 DDD 里争议较大,不太好掌握的内容,包括聚合、值对象等等。同时,还会进一步带你提升领域建模能力,深化对分层架构和代码封装的理解。最后,还会学习重要的建模技巧——泛化,这是领域建模由初级走向中、高级的关键技能。学完这个部分,你会有渐入佳境的感觉。
迭代三:进阶建模、架构和落地技能
迭代三会重点讲解 “限界上下文”、事件驱动和 CQRS 等模式,也你深入讨论怎样为更加灵活多变的业务建模,帮你深化对泛化的理解。还会讲到实践落地的关键要点,比如 DDD 切入点的选择,遗留系统的改造等等。学完这个部分,你将掌握更高阶的 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|泛化的实现(下):怎样为泛化编写代码?
加餐篇
- 加餐1|小试牛刀,测测你对DDD的掌握情况
- 加餐2|读这些书,帮你学懂DDD
- 加餐3|这些书里,藏着高手们的“不传之秘”
- 加餐4|建模作业点评直播回放&获奖公示
- 加餐5|DDD很难,学不会怎么办?
- 用户故事|优秀软件方法学“漫游记”
更进一步:进阶建模、架构和落地技能
- 27|迭代三概述:怎样处理规模更大的系统?
- 28|限界上下文(上):怎样为更大的需求建模?
- 29|限界上下文(中):限界上下文怎样影响架构设计?
- 30|限界上下文(下):限界上下文之间如何集成?
- 31|CQRS(上):实现查询功能有什么诀窍?
- 32|CQRS(下):CQRS还有哪些变化?
- 33|分析模式初探:怎样解决更复杂的问题?
- 34|落地经验:怎样在实际项目中推广DDD?
结束语&结课测试
- 结束语|DDD,是技术也是艺术
- 结课测试|来赴一场满分之约!
AIGC特别策划
- 特别策划|AI是银弹么?
- 特别策划|AI时代程序员生存之道