返回顶部
x

xfg-ddd-skillsDDD六边形架构

DDD 六边形架构设计与部署技能包。提供 Domain/Case/Infrastructure 层设计模式与代码模板,以及 Docker 环境部署脚本。当用户询问 DDD 架构、设计模式或需要部署项目时调用。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 2.2.3
安全检测
已通过
216
下载量
免费
免费
4
收藏
概述
安装方式
版本历史

xfg-ddd-skills

DDD 六边形架构

使用领域驱动设计与六边形架构来设计和实现软件。该技能提供了构建可维护的、以领域为中心的应用程序的模式、模板和最佳实践。

脚本

创建 DDD 项目

当用户说创建 DDD 项目、新建项目、创建项目、创建ddd项目时,必须使用 scripts/create-ddd-project.sh 脚本

脚本支持系统: Windows (Git Bash/MSYS2)、Mac (macOS)、Linux,自动检测并适配。

⚠️ 环境提醒: 建议提前安装 JDK 17+ 和 Maven 3.8.*,脚本启动时会自动检测并给出各平台安装指引,未安装也可继续但可能导致生成失败。

⚠️ 重要提醒:必须询问用户项目创建地址

在创建项目前,如果用户没有明确给出工程创建地址,必须询问用户在哪里创建项目。 不能随意创建到默认目录,必须获得用户确认。

示例对话:

用户:帮我创建一个 DDD 项目
AI:好的,我来帮您创建 DDD 项目。请问您希望将项目创建在哪个目录?
例如:
1) /Users/xxx/projects
2) /Users/xxx/Documents
3) /home/xxx/workspace
4) 其他路径(请直接输入)

用户:创建在 /Users/xxx/projects 下
AI:确认在 /Users/xxx/projects 下创建项目,开始执行...

流程:

  1. 1. 第一步:确认项目创建目录

必须询问用户,如果用户未指定,列出可选项供用户选择。

示例:

📂 选择项目生成目录
──────────────────────────────
1) /Users/xxx/projects
2) /Users/xxx/Documents
3) /home/xxx/workspace
4) 自定义路径(直接输入路径)

直接回车 = 选择 [1]

  1. 2. 第二步:填写项目配置(逐一询问,直接回车使用默认值)

| 参数 | 说明 | 默认值 | 示例 |
|------|------|--------|------|
| GroupId | Maven 坐标 groupId,标识组织或公司 | com.yourcompany | cn.bugstack |
| ArtifactId | 项目模块唯一标识名称 | your-project-name | order-system |
| Version | 项目版本号 | 1.0.0-SNAPSHOT | 1.0.0-RELEASE |
| Package | Java 代码根包名 | 自动从 GroupId + ArtifactId 推导 | cn.bugstack.order |
| Archetype 版本 | 脚手架模板版本 | 1.8 | - |

  1. 3. 第三步:确认并生成

显示所有配置,确认后执行 Maven Archetype 生成项目。

脚本执行方式(在 xfg-ddd-skills 项目根目录下运行):
bash
bash scripts/create-ddd-project.sh

⚠️ 必须先 cd 到 xfg-ddd-skills 项目目录下再执行,脚本会自动定位自身路径。
AI 负责引导用户选择目录、填写参数,无需手动拼凑 Maven 命令。
⚠️ 再次强调:创建项目前必须询问用户项目创建地址,不能随意创建!


快速参考

任务参考
架构概览references/architecture.md
实体设计
references/entity.md | | 聚合设计 | references/aggregate.md | | 值对象设计 | references/value-object.md | | 仓储模式 | references/repository.md | | 端口与适配器 | references/port-adapter.md | | 领域服务 | references/domain-service.md | | Case 层编排 | references/case-layer.md | | 触发层 | references/trigger-layer.md | | 基础设施层 | references/infrastructure-layer.md | | Domain 层设计指南(避免常见错误) | references/domain-design-guide.md | | Domain 层核心模式 | references/domain-patterns.md | | Infrastructure 层核心模式 | references/infrastructure-patterns.md | | DevOps 部署 | references/devops-deployment.md | | 项目结构 | references/project-structure.md | | 命名规范 | references/naming.md | | Docker 镜像 | references/docker-images.md |

架构层次

┌─────────────────────────────────────────────────────────────┐
│ 触发层 │
│ (HTTP 控制器 / MQ 监听器 / 任务) │
└─────────────────────────┬───────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ API 层 │
│ (DTO / 请求 / 响应) │
└─────────────────────────┬───────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ Case 层 │
│ (编排 / 业务流程) │
└─────────────────────────┬───────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ 领域层 │
│ (实体 / 聚合 / 值对象 / 领域服务) │
└─────────────────────────┬───────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ 基础设施层 │
│ (仓储实现 / 端口适配器 / DAO / PO) │
└─────────────────────────────────────────────────────────────┘

依赖规则: 触发层 → API 层 → Case 层 → 领域层 ← 基础设施层

⚠️ 领域层设计自检清单

在生成领域层代码前,必须逐项检查:

1. 是否有多种处理方式(if-else 判断类型)?
→ 是:使用策略模式(IXxxStrategy 接口 + 实现类 + Map 注入)

2. 是否有多个独立的校验/过滤步骤(3步以上)?
→ 是:使用责任链模式(IXxxFilter 接口 + Factory 组装链)

3. Service 方法是否超过 60 行?
→ 是:拆分为过滤器(校验)+ 策略(执行)+ 私有方法(保存)

4. 基础设施层是否包含业务判断逻辑?
→ 是:将业务校验移到领域层的过滤器中,基础设施层只做数据读写

5. 是否跨域直接依赖另一个领域的仓储?
→ 是:通过 Case 层编排,或在本域仓储接口中聚合所需数据

6. 基础设施包包名是否正确?
→ 仓储实现:adapter/repository/(❌ 不是 persistent/repository/)
→ DAO 操作:dao/(❌ 不是 scenario/dao/ 或其他包)
→ Redis 操作:redis/(❌ 不是 config/)

领域层目录结构

model/
├── aggregate/ # 聚合对象
│ └── XxxAggregate.java
├── entity/ # 实体对象
│ ├── XxxEntity.java # 普通实体
│ └── XxxCommandEntity.java # 命令实体
└── valobj/ # 值对象
├── XxxVO.java # 普通值对象
└── XxxEnumVO.java # 枚举值对象

⚠️ 注意:model/ 下没有单独的 command/ 包,命令实体统一放在 entity/ 包下。



🔄 新功能开发完整流程

当用户需要实现一个新功能时,必须按照以下分层调用流程进行开发:

调用链路图

┌─────────────────────────────────────────────────────────────────────────┐
│ 新功能开发流程 │
└─────────────────────────────────────────────────────────────────────────┘

外部请求


┌─────────────────────────────────────────────────────────────────────────┐
│ 1. 触发层(触发层) │
│ 职责:接收外部请求,路由转发,参数校验,不含业务逻辑 │
│ │
│ • HTTP 控制器 → 接收 HTTP 请求

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 xfg-ddd-skills-1776004863 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 xfg-ddd-skills-1776004863 技能

通过命令行安装

skillhub install xfg-ddd-skills-1776004863

下载

⬇ 下载 xfg-ddd-skills v2.2.3(免费)

文件大小: 94.94 KB | 发布时间: 2026-4-13 12:38

v2.2.3 最新 2026-4-13 12:38
xfg-ddd-skills v2.2.2 → v2.2.3

- Archetype 脚手架模板版本默认值由 1.3 升级为 1.8
- “创建 DDD 项目”相关文档同步,将项目名、默认目录等统一更新为 “xfg-ddd-skills”
- 新增“新功能开发完整流程”分层说明和标准调用链路图,提升分层实践规范性
- 修正脚本执行方式与目录路径描述,确保用户指引准确

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部