课程简介
本课程全面讲解领域驱动设计DDD与微服务设计的核心原理与实践方法。从服务化架构、DDD基本原理入手,深入剖析DDD分层架构与微服务架构的演进关系。通过事件风暴构建领域模型,展示如何用DDD重构服务化架构业务模型及设计微服务代码模型。最后,通过实例分析,让学员掌握基于DDD的微服务设计全流程,提升系统架构设计与微服务实践能力。
目标收益
培训对象
课程大纲
一、服务化架构、DDD与微服务的关系(0.5小时) |
服务化架构 微服务拆分和设计的困境 为什么DDD适合微服务? DDD和微服务的协作 如何进行服务化架构建模 |
二、DDD基本原理(2小时) |
1.领域和子域划分 领域基本概念 领域分解过程 子域分类和属性 2.限界上下文 什么是限界上下文 限界上下文与微服务的关系 限界上下文与子域的关系 3.实体和值对象 实体 值对象 实体和值对象的关系 4.聚合和聚合根 聚合 聚合根 聚合的设计步骤 聚合的设计原则 聚合的设计模式 5.领域事件 微服务内的领域事件 微服务之间的领域事件 领域事件案例 领域事件驱动实现机制 领域事件运行机制 |
三、DDD分层架构(1小时) |
1.DDD分层架构 用户接口层 应用层 领域层 基础层 2.DDD与微服务架构的演进 3.三层架构如何演进到DDD分层架构 4.微服务架构模型对比分析 洋葱架构 六边形架构 三种微服务架构模型对比 |
四、服务化架构领域建模与微服务设计(1.5小时) |
1.使用事件风暴构建领域模型 事件风暴 基于事件风暴的领域建模 产品愿景分析 场景分析 领域建模 微服务拆分与设计 2.如何用DDD重构服务化架构业务模型 传统企业应用建设分析 如何构建服务化架构业务模型 业务模型重构过程中的领域对象 3.如何用DDD设计微服务代码模型 DDD分层架构与微服务代码模型 微服务代码模型 4.如何保证领域模型与代码模型一致 领域模型整理 从领域模型到微服务落地 领域层的领域对象 应用层的领域对象 领域对象与代码对象的映射 5.如何实现微服务架构演进 演进式架构 微服务边界的作用 6.服务和数据在微服务各层的协作 服务视图 服务类型 服务的封装和组合 服务依赖关系 |
五、基于DDD的微服务设计实例(1小时) |
1.项目基本信息 2.战略设计 产品愿景 场景分析 领域建模 微服务拆分 3.战术设计 分析微服务领域对象 设计微服务代码结构 4.仓储模式和工厂模式 5.服务的组合和编排 6.微服务彩分式的点啊调整 7.服务接口的提供 façade接口 DTO数据组装 8.微服务解耦策略 |
六、DDD微服务设计工作坊(6小时) |
1.业务建模 事件风暴 2.战略合计 产品愿景 场景分析 领域建模 微服务拆分 3.战术设计 分析微服务领域对象 设计微服务代码结构 |
一、服务化架构、DDD与微服务的关系(0.5小时) 服务化架构 微服务拆分和设计的困境 为什么DDD适合微服务? DDD和微服务的协作 如何进行服务化架构建模 |
二、DDD基本原理(2小时) 1.领域和子域划分 领域基本概念 领域分解过程 子域分类和属性 2.限界上下文 什么是限界上下文 限界上下文与微服务的关系 限界上下文与子域的关系 3.实体和值对象 实体 值对象 实体和值对象的关系 4.聚合和聚合根 聚合 聚合根 聚合的设计步骤 聚合的设计原则 聚合的设计模式 5.领域事件 微服务内的领域事件 微服务之间的领域事件 领域事件案例 领域事件驱动实现机制 领域事件运行机制 |
三、DDD分层架构(1小时) 1.DDD分层架构 用户接口层 应用层 领域层 基础层 2.DDD与微服务架构的演进 3.三层架构如何演进到DDD分层架构 4.微服务架构模型对比分析 洋葱架构 六边形架构 三种微服务架构模型对比 |
四、服务化架构领域建模与微服务设计(1.5小时) 1.使用事件风暴构建领域模型 事件风暴 基于事件风暴的领域建模 产品愿景分析 场景分析 领域建模 微服务拆分与设计 2.如何用DDD重构服务化架构业务模型 传统企业应用建设分析 如何构建服务化架构业务模型 业务模型重构过程中的领域对象 3.如何用DDD设计微服务代码模型 DDD分层架构与微服务代码模型 微服务代码模型 4.如何保证领域模型与代码模型一致 领域模型整理 从领域模型到微服务落地 领域层的领域对象 应用层的领域对象 领域对象与代码对象的映射 5.如何实现微服务架构演进 演进式架构 微服务边界的作用 6.服务和数据在微服务各层的协作 服务视图 服务类型 服务的封装和组合 服务依赖关系 |
五、基于DDD的微服务设计实例(1小时) 1.项目基本信息 2.战略设计 产品愿景 场景分析 领域建模 微服务拆分 3.战术设计 分析微服务领域对象 设计微服务代码结构 4.仓储模式和工厂模式 5.服务的组合和编排 6.微服务彩分式的点啊调整 7.服务接口的提供 façade接口 DTO数据组装 8.微服务解耦策略 |
六、DDD微服务设计工作坊(6小时) 1.业务建模 事件风暴 2.战略合计 产品愿景 场景分析 领域建模 微服务拆分 3.战术设计 分析微服务领域对象 设计微服务代码结构 |