name: domain-model-extractor description: 使用DDD原则从单体代码库中提取领域模型以支持微服务解构 allowed-tools: [“Bash”, “Read”, “Write”, “Grep”, “Glob”, “Edit”]
领域模型提取器技能
使用领域驱动设计原则从单体代码库中提取领域模型,以支持微服务解构。
目的
支持以下领域的分析:
- 限界上下文识别
- 聚合检测
- 实体关系映射
- 领域事件发现
- 通用语言提取
能力
1. 限界上下文识别
- 分析代码模块
- 识别领域边界
- 映射团队所有权
- 定义上下文关系
2. 聚合检测
- 查找聚合根
- 映射实体关系
- 识别不变条件
- 定义一致性边界
3. 实体关系映射
- 提取实体
- 映射关系
- 识别值对象
- 文档化关联
4. 领域事件发现
- 发现隐式事件
- 映射状态变化
- 识别触发器
- 文档化事件流
5. 通用语言提取
- 构建领域词汇表
- 映射术语使用
- 识别同义词
- 创建术语表
6. 上下文映射生成
- 映射上下文关系
- 识别集成模式
- 文档化共享内核
- 定义防腐层
工具集成
| 工具 | 目的 | 集成方法 |
|---|---|---|
| EventStorming工具 | 领域发现 | 手动/数字 |
| 架构分析器 | 代码分析 | CLI |
| 可视化工具 | 上下文映射 | 导出 |
| 自定义AST分析器 | 代码解析 | CLI |
输出模式
{
"extractionId": "string",
"timestamp": "ISO8601",
"domain": {
"boundedContexts": [
{
"name": "string",
"purpose": "string",
"aggregates": [],
"entities": [],
"events": [],
"services": []
}
],
"contextMap": {
"relationships": []
}
},
"ubiquitousLanguage": {
"terms": []
},
"recommendations": {
"serviceDecomposition": [],
"integrationPatterns": []
}
}
与迁移流程的集成
- 单体到微服务: 领域分析
- 迁移规划路线图: 战略设计
相关技能
architecture-analyzer: 结构分析
相关代理
ddd-analyst: DDD专业知识microservices-decomposer: 服务提取