L1 Reading Path(建模层阅读路径)
L1 是什么:把混乱的现实业务映射为可推理的领域模型——识别边界、提取概念、定义不变量。本层是 V2.7 "B1 认识对象 + B3 分解 + B4 抽象" 的工作中心。
阅读顺序(建议 5-7 天)
Day 1-2 战略层(02-strategic)
└─ bounded-context → ubiquitous-language → subdomain → context-map
Day 3-4 战术层(03-tactical)
└─ aggregate → entity-vo → factory-invariants → repository-factory
→ domain-service-event → tell-dont-ask-demeter
Day 5 跨上下文(04-cross-context)
└─ context-map-relations → anti-corruption-layer
→ shared-kernel → customer-publisher
Day 6 工具层(05-tools)
└─ event-storming → bounded-context-canvas → context-map-diagram
Day 7 复盘 + 案例 + 源典
└─ 06-cases → 07-source/cybernetics学习目标
读完 L1 应能回答:
- 什么是 BC?如何识别边界?
- 什么是通用语言?为什么必须 BC 内统一?
- 聚合是什么?与 BC 什么关系?
- 跨 BC 协作有几种模式?怎么选?
- 如何用 Event Storming 启动一个 DDD 项目?
关键转折点
| 阶段 | 难点 | 推荐时长 |
|---|---|---|
| 战略层 → 战术层 | 从"业务划分"转向"代码实现"——最大认知跳跃 | 1-2 天消化 |
| 战术层 → 跨上下文 | 跨 BC 协作模式选择——9 种关系的选择空间 | 半天 |
| 跨上下文 → 工具 | 工作坊方法(Event Storming)的物理实践 | 半天动手 |
与 V2 节点的对应
| V2 节点 | L1 主要文档 |
|---|---|
| B1 认识对象 | bounded-context / aggregate / entity-vo |
| B2 认识自己 | ubiquitous-language(语言是模型的镜像) |
| B3 分解 | bounded-context / context-map / shared-kernel |
| B4 抽象 | aggregate / entity-vo / value object |
| B6 权衡 | customer-publisher / context-map-relations(关系选择) |
| B7 演化 | context-map(动态更新)/ factory-invariants |
不推荐路径
- 跳过战略层直接看战术层——结果是用"贫血模型"或"假聚合"
- 只看 IDDD 不读控制论——会失去数学原型支撑,只剩"模式套用"
- 只看 9 种关系不读事件风暴——结果是用技术视角划分 BC,不是业务视角
相关链接
- L1 Overview——L1 全局视角
- V3 世界观骨架——7 个理解世界的姿态
- 源典:控制论——数学原型
- 源典:IDDD——DDD 模式精读