SuperAPI AI 工具集

V3 DDD Architecture

编程与开发

查看项目

更新于 10-16 02:44

技能介绍

V3 DDD Architecture 是一个面向 claude-flow v3 的领域驱动设计(DDD)架构技能,目标是把臃肿的“上帝对象”拆解为有界上下文,落地整洁架构模式,使代码结构模块化、可测试。

用途 该技能用于设计与实现 claude-flow v3 的 DDD 架构:分析现有架构并划分 DDD 边界,将 orchestrator 上帝对象分解为多个领域,映射有界上下文及其关系,并设计干净的领域接口。

主要能力

  • 领域分解:把 core/orchestrator.ts(1440 行,被标注为 GOD OBJECT)中混杂的任务管理、会话管理、健康监控、生命周期管理、事件协调等职责,拆分为 core/domains/ 下的独立领域,并抽出 core/shared/ 下的接口、值对象与领域事件。
  • 有界上下文定义:为任务管理、会话管理、健康监控等领域分别定义实体、值对象、服务与仓储接口(如 TaskEntity、TaskIdVO、TaskSchedulingService、ITaskRepository 等)。
  • 微内核架构:提供 ClaudeFlowKernel,负责加载领域、装配依赖容器、设置领域事件处理器,并通过 getDomain 获取领域实例。
  • 插件架构:定义 DomainPlugin 接口(name、version、dependencies、initialize、shutdown),示例为 SwarmCoordinationPlugin,依赖 task-management 与 session-management 领域。
  • 领域事件与集成:以 DomainEvent 抽象类为基础,定义 TaskAssignedEvent、TaskCompletedEvent 等事件,并通过 @EventHandler 注解实现事件处理器,实现领域间松耦合通信。
  • 整洁架构分层:划分为 Presentation(CLI、API、UI)、Application(用例、命令)、Domain(实体、服务、事件)、Infrastructure(DB、MCP、外部 API),依赖方向由外向内,领域层无外部依赖。
  • 应用层用例:如 AssignTaskUseCase,按校验命令、加载聚合、执行业务逻辑、持久化、发布领域事件、返回结果的步骤组织。
  • 模块配置:以 taskManagementModule 形式声明实体、值对象、服务、仓储与事件处理器。
  • 迁移策略:分三阶段——提取领域服务(按周拆分 TaskManager、SessionManager、HealthMonitor、LifecycleManager、EventCoordinator 并接线领域事件)、实现干净接口(依赖注入的 TaskController)、启用插件系统(核心与可选模块)。
  • 测试策略:采用伦敦学派 TDD 对纯领域逻辑进行测试,示例覆盖 TaskEntity 的分配与事件发出。
  • 成功指标:消除上帝对象(1440 行拆为 5 个各小于 300 行的领域)、100% 领域独立、核心加可选模块的插件加载、保持依赖倒置、领域间松耦合、领域逻辑测试覆盖率大于 90%。

使用方式 通过 Task 调用触发,例如:

  • 初始化架构分析:Task("Architecture analysis", "Analyze current architecture and design DDD boundaries", "core-architect")
  • 并行领域建模:Task("Domain decomposition", ...)、Task("Context mapping", ...)、Task("Interface design", ...)
  • 完整实现:Task("DDD architecture implementation", "Extract orchestrator into DDD domains with clean architecture", "core-architect")
  • 创建插件:npm run create:plugin -- --name swarm-coordination --template domain

适用场景 适用于对 claude-flow v3 进行架构重构、拆分大型单体文件、引入有界上下文与整洁架构、构建可插拔领域模块,以及需要领域事件驱动、高测试覆盖率的项目。

限制 资料未提供该技能的收费、价格、支持平台、性能数据或具体安装步骤;相关事实暂未提供。