课程大纲
第1章 领域驱动设计的背景和来源
理解学习DDD的必要性,DDD能对我们带来什么帮助,它的核心思想和解决的痛点问题是什么,它的发展历史、现状和未来前景如何?它和现有方法体系的联系和区别(如面向对象设计思想、敏捷)?以及学习DDD对技术人员的成长有什么意义?我们应该怎样学习DDD?
第2章 战略设计
通过案例实践学习DDD战略设计。了解案例项目背景,理解利用DDD思想对软件系统进行建模和设计的整体过程;基于案例项目,学习通用语言、子域和限界上下文的概念和原理,学习一种实用的、具体的分析方法(domain story telling),学会基于具体的分析方法建立通用语言、并利用子域和限界上下文的划分对复杂系统进行问题的分解和模型的分解?理解什么是上下文映射,分解之后的限界上下文和对应团队之间如何协作?以及,什么是分层架构,深入代码层面介绍为什么要建立分层架构?并且为案例项目的分层架构做好准备。
第3章 初涉战术设计(使用DDD对交易域进行分析、建模和设计)
学习DDD战术设计基础思想和方法的原理,并且学习一种实用的、具体的战术设计分析方法,利用这些思想和方法,完成案例项目交易域的设计和开发。通过上至分析方法、架构设计、下至代码的实操演练,理解实体、值对象、工厂、资源库、聚合、领域服务、应用服务等DDD设计元素的含义、作用和应用方法。
第4章 深入战术设计(使用DDD对运营域进行分析、建模和设计)
学习更深层次的分析和建模方法,以及更深层次的DDD架构模式。通过案例项目中运营域的设计和开发,学习事件风暴建模法的思想和应用;学习DDD在大数据ETL和分析相关场景中的应用。
第5章 DDD和微服务(架构升级:从单体到微服务的重构)
运用DDD思想,结合微服务相关底层技术,将案例项目从单体架构重构到微服务架构。在此过程中,学习DDD和微服务的关系,微服务架构中的问题和DDD给出的答案;学习服务网格(service mesh)技术应用和基于容器技术将服务部署上云。
查看完整目录