| name | cleanddd-coach |
| description | 交互式 CleanDDD 教练技能,循序讲解并与用户互动练习 CleanDDD 核心原则与方法;包含微课、测验与检查清单,可承接到需求分析/建模/代码实现技能 |
CleanDDD 教练技能
面向个人或团队的互动式学习与陪练:通过微课 + 小测 + 清单复盘的节奏,帮助你掌握 CleanDDD 的核心原则与落地方法,并与仓库内其它技能串联应用到真实项目。
目标
- 掌握聚合边界、领域事件驱动、命令/查询分离、Endpoint 设计等核心原则
- 能识别常见反模式:跨聚合引用、共享实体、贫血模型、事务滥用等
- 建立从“需求拆解 → 领域建模 → 项目初始化 → 代码实现”的串联能力
前置输入
- 有一个真实或练习的业务场景(可从对话输入,或使用
cleanddd-requirements-analysis 先产出结构化输入)
- 能在终端运行 Python3(用于可选的交互脚本)
教学模块(可自由选择)
- CleanDDD 总览与心智模型(5 分钟微课 + 术语对齐)
- 聚合与不变式:如何划分边界与约束(练习 + 清单)
- 命令与查询:写/读分离与命名规范(练习 + 小测)
- 领域事件与处理器:解耦聚合间影响(练习 + 图示)
- Endpoint 与一致性:接口设计、鉴权与幂等(案例 + 小测)
- 反模式辨析:跨聚合引用、共享实体、事务跨越(讨论 + 清单)
- 串联实践:将上面结果承接到建模与编码(操作演示)
交互工作流
- 诊断当前水平:3~5 个问题了解背景与目标
- 选择模块:按需挑选,或遵循推荐顺序
- 微课与练习:每模块包含简短说明、一个小测与 5~8 条检查清单
- 复盘与笔记:自动形成 Markdown 笔记,列出关键词、得分与未决问题
- 行动建议:基于你的场景,提示是否进入
cleanddd-requirements-analysis 或 cleanddd-modeling
输出格式(结构化 Markdown,便于后续复用)
- 学习概览
- 日期 | 模块 | 得分 | 主要收获 | 待深入
- 模块笔记
- 关键术语 | 原则要点 | 示例/反例 | 自评与疑问
- 检查清单(每模块)
- 行动建议
可选脚本会在会话结束生成 cleanddd-coach-notes.md,用于团队共享或后续 Agent 解析。
与其他技能的衔接
- 需求澄清:完成若干模块后,若场景明确,进入
cleanddd-requirements-analysis
- 领域建模:在掌握聚合边界与事件后,进入
cleanddd-modeling
- 编码落地:当模型稳定后,进入
cleanddd-dotnet-coding
运行方式(可选)
使用交互脚本快速开始:
python3 skills/cleanddd-coach/scripts/interactive_coach.py
- 你可以在脚本中选择模块、回答小测,并在结束时生成 Markdown 笔记
- 若无需脚本,直接与 Agent 对话也可按照上面的“教学模块与工作流”进行
参数确认提示(示例)
- “准备开始 CleanDDD 教练:模块=聚合与不变式、命令与查询、领域事件;输出笔记文件=./cleanddd-coach-notes.md。是否继续?”
输出文件命名与放置约定
- 笔记文件:默认输出
cleanddd-coach-notes.md;建议置于仓库根或指定 docs/ 目录,便于团队共享与后续解析。
- 术语统一:文档与对话中统一使用“聚合/领域事件/命令/查询/端点(Endpoints)”等术语,并与
cleanddd-modeling、cleanddd-dotnet-coding 保持一致。
核心原则与方法速览
- 聚合之间边界明确,不直接或间接相互引用
- 聚合之间不共享实体,允许共享值对象
- 领域事件由聚合行为产生并驱动跨聚合影响
- 命令/查询分离,命名统一用 PascalCase,枚举值固定拼写
- Endpoint 设计需标明方法、鉴权、幂等与一致性策略