DDD入门篇:走近DDD
如果无法正常显示,请先停止浏览器的去广告插件。
1. DDD入门篇:走近DDD
吴昊/机酒目的地事业群
2. 01 DDD背景及现状
CONTENTS
目录
02 DDD的价值
03 DDD课程目标及介绍
04 DDD核心概念
3. DDD背景
DDD起源: 2004年Eric提出,领域驱动设计 Domain Driven Design
定义: 是一种处理高度复杂领域的设计思想。不是架构,是一种架构设计方法论。
Domain
Eric:每个软件程序是为了执行用户的某项活动,或是满足用户的某种需求。这些用户应用软件的问题区域就是软件的领域
数学:定义域,值域
专业、行业领域
Driven
Design
核心思想: 围绕业务概念构建领域模型来控制业务复杂性,解决软件难以理解、演进的问题。
4. DDD背景
重点名词:
领域、子域、核心域
支撑域、通用域
限界上下文
实体、值对象…
聚合、聚合根
领域事件…
…… ……
补充部分名词 P355
5. DDD现状
DDD趋势
DDD他司现状
DDD我司现状
6. DDD热度趋势
7. DDD热度趋势
8. DDD热度趋势
9. DDD热度趋势,热门搜索词
10. DDD他司现状
�阿里零售通
11. DDD他司现状
�阿里零售通
12. DDD他司现状
13. DDD他司现状
14. DDD他司现状
�京东物流库存仿真DDD重构
15. DDD他司现状
16. DDD他司现状
�网易新闻APP-基于DDD重构
17. DDD他司现状
18. DDD我司现状
机票辅营DDD
门票玩乐DDD-方舟
2020.4
2020.6
2020.5
2020.8
2020.7
旅游交通资金流DDD
酒店报价DDD
2020.10
2020.9
19. DDD我司现状
传统贫血模型 V DDD充血模型
“血”
区别
上手难易度 逻辑适用性 业务类型
贫血 易 简单 信息记录类型
充血 难 复杂 信息处理类型
DDD在Qunar落地的方式
战略设计 (业务、产品、技术)
战略设计+战术设计(技术、产品)
20. 我司落地分层架构映射
展示及接口层
API
展示及接口层
API
DTO
三
层
架
构
业务逻辑层
BO / VO
Service
应用层
Application Service
领域层
Domain Service
Entity/PO
POJO
Value Object
Repository
DAO 基础层
…… Repository AOP
Cache
Queue、Log、Mail…
DDD
四
层
架
构
21. 提问
�2004年提出,为何最近几年热度提高比较明显?
22. 02
DDD的价值
23. DDD的价值
产研融合、业务导向
降低系统复杂度,提高系统内聚
通用语言
康威定律
DDD一定好
24. DDD的价值
通用语言
领域专家
技术专家
沟通与配合
25. 技术专家-领域专家-模型沟通案例
26. 通用语言
�战略设计
开发、产品、运营
- 领域名词、动词分析,提取领域模型
业务抽象
�战术设计
- 用领域模型指导设计及编码实现
四色、事件风暴等…
�DDD要求
- 产品/开发 业务知识领域、抽象能力等
�DDD强调
统一语言
边界划分
构建领域模型
演进及重构
- 开发团队与产品团队构建一致的业务领域模型架构体系
Code
核心思想:围绕业务概念构建领域模型来控制业务复杂性, 解决软件难以理解、演进的问题。
27. 康威定律
�康威定律是马尔文·康威1967提出的:“设
计系统的组织,其产生的设计和架构等价
于组织间的沟通结构。”
�通俗的来讲:组织结构影响系统结构,会
影响运行的IT系统结构
人人都是CTO:
如果你是CTO,你所在团队上下游及相关系统的系统结构、组织结构要如何调整呢?
28. 业务
架构
组织
架构
业务
抽象
模型
边界
统一
技术
架构
代码
29. 使用DDD一定好。?
30. 03
DDD课程目标及介绍
31. DDD课程目标
熟悉领域驱动设计应用场景
熟悉领域建模核心概念
掌握通用语言与限界上下文
了解、熟悉、掌握从需求分析到微服务拆分落地全过程(业务边界划分)
掌握微服务拆分工具-event storming 事件风暴
掌握DDD架构模式
32. DDD课程目录
DDD入门篇
01 DDD核心概念
02 DDD理解及应用
方舟DDD战略及战术设计
方舟DDD报价电商模型、交易领域模型设计
方舟DDD架构、事件驱动、一致性解决方案
DDD基础实践篇
01 DDD战略设计
事件风暴
领域建模
02 DDD战术设计
业务模型
领域建模
边界划分
03 报价DDD实战
33. DDD课程目录
DDD与业务架构
01DDD整合分层架构和微服务设计与模型演进
分层架构介绍
DDD结合分层架构
微服务与DDD
领域层的精炼
02DDD机票辅营的分层架构设计
辅营供应系统DDD分层设计
辅营交易系统DDD的过渡
基于DDD和整洁架构的技术中台
03CQRS在领域驱动中的重要作用
DDD完善阶段的理念
01API在领域驱动设计中的重要作用
02DDD落地管理工具-beeArt
03前端DDD思想漫谈
34. 04
DDD核心概念
35. DDD入门聚合
�P83-84
36. DDD入门聚合
37. 聚合的特点
事务一致性边界
聚合之间通过聚合根沟通
聚合是创建、发布领域事件和操作资源库的操作主体
38. �2004年提出,到202X年现在过时了吗?
辩证法:
联系、全面、发展、矛盾
39. 欢迎QT扫码入群交流讨论: