DDD(领域驱动设计)属于软件工程中软件开发方法的范畴。它继承了面向对象和敏捷方法的精髓,提炼了一套更容易掌握的原则、模式和实践,特别适合复杂企业应用的开发。
DDD 在开发微服务、系统改造、架构治理、企业架构、提高研发效率、培养架构师等方面都有用。然而,DDD 学习和着陆并不容易,主要有以下困难:
不容易掌握领域模型建模;
不易实现领域模型;
概念混乱,数据良莠不齐;
随着时代的变化,技术环境仍然是发展理念;
具体落地时会遇到很多问题。
本课程以案例为导向,模拟敏捷软件开发过程。教师将结合企业管理系统的案例,带您体验系统的三个迭代。每个迭代的需求规模逐渐扩大,复杂性也逐渐增加,这将使您不断深化相应的需求 DDD 模式与实践。
迭代一:开放 DDD 的最小闭环
迭代一主要会给你打下坚实的基础,实现一个“麻雀虽小,五脏俱全”的项目。打开从需求分析到现场建模,再到架构设计,最后到数据库和代码的完整闭环。学完这个迭代,你就有能力处理一些不太复杂的项目了。
迭代二:聚合,值对象和泛化
迭代二会深入讲解 DDD 有争议和难以掌握的内容,包括聚合物、值对象等。同时,它将进一步提高您的领域建模能力,加深您对分层架构和代码包装的理解。最后,我们将学习重要的建模技巧——泛化,这是领域建模从初级到中级和高级的关键技能。学习这一部分后,你会感觉越来越好。
迭代三:先进的建模、架构和着陆技能
迭代三会重点讲解 “限界上下文”、事件驱动和 CQRS 等待模式,你也可以深入讨论如何建模更灵活的业务,帮助你加深对泛化的理解。它还将讨论实践实施的关键点,如 DDD 切入点的选择,遗留系统的改造等等。在学习了这部分之后,你将掌握更高的水平 DDD 了解如何处理更广泛的项目。
课程目录
01|DDD小传:为什么领域驱动设计如此火爆?.md
01|DDD小传:为什么领域驱动设计这么受欢迎?.mp3
01|DDD小传:为什么领域驱动设计这么受欢迎?.pdf
02|迭代概述:如何开启麻雀小五脏俱全的项目?.md
02|迭代概述:如何开启麻雀小五脏俱全的项目?.mp3
02|迭代概述:如何开启麻雀小五脏俱全的项目?.pdf
03|事件风暴(上):如何愉快地与业务谈论需求?.md
03|事件风暴(上):如何愉快地与业务谈论需求?.mp3
03|事件风暴(上):如何愉快地与业务谈论需求?.pdf
04|事件风暴(下):事件风暴的诀窍是什么?.md
04|事件风暴(下):事件风暴的诀窍是什么?.mp3
04|事件风暴(下):事件风暴还有哪些诀窍?.pdf
05|领域建模实践(上):如何准确深刻地理解业务知识?.md
05|领域建模实践(上):如何准确深刻地理解业务知识?.mp3
05|领域建模实践(上):如何准确深刻地理解业务知识?.pdf
06|领域建模实践(下):领域建模还有哪些其他技巧?.md
06|领域建模实践(下):领域建模还有哪些其他技巧?.mp3
06|领域建模实践(下):领域建模还有哪些其他技巧?.pdf
07|DDD领域建模与传统方法有什么区别?.md
07|DDD领域建模与传统方法有什么区别?.mp3
07|DDD领域建模与传统方法有什么区别?.pdf
08|数据库设计:如何根据领域模型设计数据库?.md
08|数据库设计:如何根据领域模型设计数据库?.mp3
08|数据库设计:如何根据领域模型设计数据库?.pdf
09|分层结构:如何逃离“大泥球”?.md
09|分层结构:如何逃离“大泥球”?.mp3
09|分层结构:如何逃离“大泥球”?.pdf
10|(上)代码实现(上):“贫血”还是“充血”?.md
10|(上)代码实现(上):“贫血”还是“充血”?.mp3
10|代码实现(上):“贫血”还是“充血”?.pdf
11|(中)代码实现(中):如何创建领域对象,实现领域逻辑?.md
11|代码实现(中):如何创建领域对象,实现领域逻辑?.mp3
11|(中)代码实现(中):如何创建领域对象,实现领域逻辑?.pdf
12|(下)代码实现(下):如何更“面向对象”?.md
12|(下)代码实现(下):如何更“面向对象”?.mp3
12|(下)代码实现(下):如何更“面向对象”?.pdf
13|迭代二概述:如何更深入地了解领域知识?.md
13|迭代二概述:如何更深入地了解领域知识?.mp3
13|迭代二概述:如何更深入地了解领域知识?.pdf
14|聚合概念:如何保护业务规则?.md
14|聚合概念:如何保护业务规则?.mp3
14|聚合概念:如何保护业务规则?.pdf
15|实现聚合(上):如何包装聚合物?.md
15|实现聚合(上):如何包装聚合物?.mp3
15|实现聚合(上):如何包装聚合物?.pdf
16|(中)实现聚合:如何实现不变规则?.md
16|(中)实现聚合:如何实现不变规则?.mp3
16|(中)实现聚合:如何实现不变规则?.pdf
17|(下)实现聚合:如何利用事务保护聚合?.md
17|(下)实现聚合:如何利用事务保护聚合?.mp3
17|(下)实现聚合:如何利用事务保护聚合?.pdf
18|值对象(上)(上):什么是值对象?.md
18|值对象(上)(上):什么是值对象?.mp3
18|值对象(上)(上):什么是值对象?.pdf
19|值对象(中)(中):值对象有什么好处?.md
19|值对象(中)(中):值对象有什么好处?.mp3
19|值对象(中)(中):值对象有什么好处?.pdf
20|值对象(下)(下):值对象和实体的本质区别是什么?.md
20|值对象(下)(下):值对象和实体的本质区别是什么?.mp3
20|值对象(下)(下):值对象与实体的本质区别是什么?.pdf
21|用“限制”建模:如何简化一对多关联?.md
21|用“限制”建模:如何简化一对多关联?.mp3
21|用“限制”建模:如何简化一对多关联?.pdf
22|泛化建模(上):领域知识更抽象怎么办?.md
22|泛化建模(上):更抽象的领域知识怎么办?.mp3
22|泛化建模(上):领域知识更抽象怎么办?.pdf
23|泛化建模(中):不需要泛化吗?.md
23|泛化建模(中):不需要泛化吗?.mp3
23|泛化建模(中):不需要泛化吗?.pdf
24|泛化建模(下):如何权衡泛化是否采用?.md
24|泛化建模(下):如何权衡泛化是否采用?.mp3
24|泛化建模(下):如何权衡是否采用泛化?.pdf
25|实现泛化(上):如何为泛化设计数据库?.md
25|实现泛化(上):如何为泛化设计数据库?.mp3
25|实现泛化(上):如何为泛化设计数据库?.pdf
26|实现泛化(下):如何为泛化编写代码?.md
26|泛化的实现(下):如何为泛化编写代码?.mp3
26|实现泛化(下):如何为泛化编写代码?.pdf
27|迭代三概述:如何处理更大的系统?.md
27|迭代三概述:如何处理更大的系统?.mp3
27|迭代三概述:如何处理更大的系统?.pdf
28|限制上下文(上):如何为更大的需求建模?.md
28|限制上下文(上):如何为更大的需求建模?.mp3
28|限制上下文(上):如何为更大的需求建模?.pdf
29|限制上下文(中):上下文如何影响架构设计?.md
29|限制上下文(中):上下文如何影响架构设计?.mp3
29|限制上下文(中):上下文如何影响架构设计?.pdf
30|限制上下文(下):如何在上下文之间集成限界?.md
30|限制上下文(下):如何在上下文之间集成限界?.mp3
30|限制上下文(下):如何在上下文之间集成限界?.pdf
31|CQRS(上):实现查询功能的诀窍是什么?.md
31|CQRS(上):实现查询功能的诀窍是什么?.mp3
31|CQRS(上):实现查询功能的诀窍是什么?.pdf
32|CQRS(下):CQRS还有哪些变化?.md
32|CQRS(下):CQRS还有哪些变化?.mp3
32|CQRS(下):CQRS还有哪些变化?.pdf
33|初步探索分析模式:如何解决更复杂的问题?.md
33|初步探索分析模式:如何解决更复杂的问题?.mp3
33|初步探索分析模式:如何解决更复杂的问题?.pdf
34|着陆经验:如何在实际项目中推广DDD?.md
34|着陆经验:如何在实际项目中推广DDD?.mp3
34|着陆经验:如何在实际项目中推广DDD?.pdf
第一期春节策划|测试牛刀,测试你对DDD的掌握程度。.md
第一期春节策划|测试牛刀,测试你对DDD的掌握情况.mp3
第一期春节策划|测试牛刀,测试你对DDD的掌握情况.pdf
第二期春节策划|读这些书,帮助你学习DDD.md
第二期春节策划|阅读这些书籍,帮助你学习DDDD.mp3
第二期春节策划|读这些书,帮助你学习DDD.pdf
第三期春节策划|这些书里藏着高手们的“不传之秘”.md
第三期春节策划|这些书里藏着高手们的“不传之秘”.mp3
第三期春节规划|这些书里藏着高手们的“不传之秘”.pdf
结束语|DDD,既是技术,也是艺术.md
结束语|DDD,既是技术,也是艺术.mp3
结束语|DDD,既是技术,也是艺术.pdf
开篇词|带你彻底了解DDD.md
开篇词|带你彻底了解DDD.mp3
开篇词|带你去彻底了解DDD.pdf
期末亲自测试|来到满分之约!.md
期末亲自测试|来到满分之约!.pdf
特别加餐2|DDD很难,学不会怎么办?.md
特别加餐2|DDD很难,学不会怎么办?.mp3
特别加餐2|DDD很难,学不会怎么办?.pdf
特别加餐|建模作业点评直播回放&获奖公示.md
特别加餐|建模作业点评直播回放&获奖公示.mp3
特别加餐|建模作业点评直播回放&获奖公示.pdf
[我要扒资料]