课程费用

5800.00 /人

课程时长

2

成为教练

课程简介

本课程基于多年实践领域驱动设计的经验与心得,糅合了 DDD 社区最新发展的理论知识与最佳实践,覆盖从需求到实现全面系统的讲解领域驱动设计。本篇是方法论篇,

目标收益

学员通过课程,可以深入学习到企业级N层的框架实现原理。每一层的职责以及功能目标,DDD中的核心战术概念及工具,比如:领域服务,领域事件,资源库,聚合,实体,值对象。以及DDD的战略建模工具,如:界限上下文,上下文映射图。以及对于以上这些概念,在代码层面的设计于实现。

培训对象

具有以下经验的 架构师,后端开发工程师,以及其他软件从业人员
具有基础的架构设计知识
至少掌握一门面向对象语言
具有基本的面向对象程序设计能力
具有一年或一年以上的业务系统开发经验

课程大纲

一、软件复杂度 - 软件行业的主要任务就是对应复杂度 1.领域驱动设计概览
2.战略与战术
3.战略层面的三件事 与 战术层面的核心结构
4.软件复杂度的三个成因
5.分离关注点 – Unix 设计哲学
6.隔离业务复杂度与技术复杂度
7.复杂度的横切与纵切
8.SOLID原则
9.SRP – 单一职责原则
10.OCP – 开放封闭原则
11.LSP – 里氏替换原则
12.ISP – 接口隔离原则
13.DIP – 依赖倒置原则
14.领域驱动设计对软件复杂度的对应
二、通用语言 - 工欲善其事必先利其器 1.领域专家与开发者的沟通失调
2.通用语言关键点 - 5W2H1E
3.通用语言关键点扩展 - Pre/Post Condition
4.案例 - “高端客户优惠”这个需求如何做?
5.通用语言的价值
6.通用语言的代码表达
7.运用领域场景分析提炼领域知识
8.建立统一语言
三、界限上下文 – 有问题必有解决方案 1.界限上下文的目的:消除歧义
2.界限上下文与通用语言
3.案例:银行账户在不同上下文的分析与隔离
4.不要将有二义性的领域概念放在同一界限上下文中
5.理解界限上下文
6.识别界限上下文
7.理解上下文映射
8.上下文映射的团队协作模式
9.上下文映射的通信集成模式
辩别限界上下文的协作关系
四、架构 – 总有一款适合你 1.认识分层架构
2.分层架构的演化
3.领域驱动架构的演进
4.界限上下文与架构
5.六边形架构
6.端口与适配器
7.整洁架构
8.CQRS架构
9.在CQRS中处理具有最终一致性的查询模型
10.事件溯源 Event Souring
11.使用乐观锁处理并发更新
12.事件溯源和发布事件
13.幂等方式处理消息
14.使用快照提升性能
15.管道与过滤器
16.SAGA (消息驱动事务)
17.协同式与编排式
18.SAGA下实现隔离
一、软件复杂度 - 软件行业的主要任务就是对应复杂度
1.领域驱动设计概览
2.战略与战术
3.战略层面的三件事 与 战术层面的核心结构
4.软件复杂度的三个成因
5.分离关注点 – Unix 设计哲学
6.隔离业务复杂度与技术复杂度
7.复杂度的横切与纵切
8.SOLID原则
9.SRP – 单一职责原则
10.OCP – 开放封闭原则
11.LSP – 里氏替换原则
12.ISP – 接口隔离原则
13.DIP – 依赖倒置原则
14.领域驱动设计对软件复杂度的对应
二、通用语言 - 工欲善其事必先利其器
1.领域专家与开发者的沟通失调
2.通用语言关键点 - 5W2H1E
3.通用语言关键点扩展 - Pre/Post Condition
4.案例 - “高端客户优惠”这个需求如何做?
5.通用语言的价值
6.通用语言的代码表达
7.运用领域场景分析提炼领域知识
8.建立统一语言
三、界限上下文 – 有问题必有解决方案
1.界限上下文的目的:消除歧义
2.界限上下文与通用语言
3.案例:银行账户在不同上下文的分析与隔离
4.不要将有二义性的领域概念放在同一界限上下文中
5.理解界限上下文
6.识别界限上下文
7.理解上下文映射
8.上下文映射的团队协作模式
9.上下文映射的通信集成模式
辩别限界上下文的协作关系
四、架构 – 总有一款适合你
1.认识分层架构
2.分层架构的演化
3.领域驱动架构的演进
4.界限上下文与架构
5.六边形架构
6.端口与适配器
7.整洁架构
8.CQRS架构
9.在CQRS中处理具有最终一致性的查询模型
10.事件溯源 Event Souring
11.使用乐观锁处理并发更新
12.事件溯源和发布事件
13.幂等方式处理消息
14.使用快照提升性能
15.管道与过滤器
16.SAGA (消息驱动事务)
17.协同式与编排式
18.SAGA下实现隔离
提交需求