DDD4j项目创建器Skill ddd4j-project-creator

这是一个用于创建和初始化基于DDD4j Boot框架的Java项目的技能。它支持单模块单体、多模块单体和微服务项目类型,并遵循DDD、六边形架构、整洁架构和COLA V5等架构模式。关键词:ddd4j, ddd4j-boot, 项目创建, 脚手架, DDD, 领域驱动设计, Java, 微服务。

架构设计 0 次安装 0 次浏览 更新于 3/21/2026

name: ddd4j-project-creator description: | 一个全面的技能,用于基于ddd4j-boot框架创建新的ddd4j(Java领域驱动设计)项目。 仅当用户明确提到创建ddd4j项目、初始化ddd4j项目或设置ddd4j-boot项目时使用。支持三种项目类型:单模块单体、多模块单体和微服务。 基于ddd4j-boot架构生成项目脚手架,包含DDD、六边形架构、整洁架构和COLA V5模式。不要为通用DDD项目、JPA/Hibernate项目或其他ORM框架触发,除非明确提到ddd4j。 license: 完整条款见LICENSE.txt

DDD4j 项目创建器

何时使用此技能

关键:此技能应仅在用户明确提到创建ddd4j项目、初始化ddd4j项目或设置ddd4j-boot项目时触发。

当用户提到以下内容时总是使用此技能:

  • 创建ddd4j项目(明确提到“ddd4j”)
  • 初始化ddd4j-boot项目
  • 设置ddd4j项目结构
  • 创建ddd4j项目脚手架
  • 创建ddd4j项目(明确提到“ddd4j”)
  • 初始化ddd4j项目(初始化ddd4j项目)
  • ddd4j-boot项目创建(创建ddd4j-boot项目)

触发短语包括:

  • “创建ddd4j项目”(创建ddd4j项目)- 必须包含“ddd4j”
  • “初始化ddd4j项目”(初始化ddd4j项目)- 必须包含“ddd4j”
  • “创建ddd4j-boot项目”(创建ddd4j-boot项目)- 必须包含“ddd4j”
  • “使用ddd4j创建项目”(使用ddd4j创建项目)
  • “ddd4j项目脚手架”(ddd4j项目脚手架)

不要为此触发此技能:

  • 未提到ddd4j的通用DDD项目
  • JPA/Hibernate项目
  • 其他ORM框架
  • 无ddd4j上下文的通用项目初始化
  • “创建DDD项目”未包含“ddd4j”(太通用)
  • “初始化项目”未包含“ddd4j”(太通用)

关于DDD4j Boot

DDD4j Boot 是一个基于**领域驱动设计(DDD)**原则的Java微服务开发脚手架。它基于Spring Boot 3.5.x构建,并使用轻量级的ddd-4-javacqrs-4-java库来实现领域驱动设计、命令查询职责分离(CQRS)和事件溯源。

核心设计原则

  • 领域驱动设计(DDD):通过限界上下文进行战略设计,使用实体、值对象、聚合、领域服务、存储库和领域事件进行战术设计
  • 命令查询职责分离(CQRS):读写模型分离,独立优化
  • 事件溯源:状态变化记录为事件序列,支持完整历史和状态重建
  • 菱形架构(COLA):适配器 → 应用 → 领域 ← 基础设施四层架构

关键特性

  • 完整的DDD分层架构,支持COLA V5模式
  • 基于ddd-4-java和cqrs-4-java的轻量级DDD实现
  • 技术栈集成:Spring Boot 3.5.x、MyBatis Plus、Jackson、Guava、Swagger、SaToken
  • 双栈支持:WebMVC(传统Servlet)和WebFlux(响应式)
  • 领域模型基础能力:BaseEntity、BaseRepository、BaseService
  • 领域事件支持,内置事件发布机制
  • 防腐层(ACL)用于外部服务集成
  • 统一异常处理机制

支持的项目类型

1. 单模块单体(单体单模块)

适用场景:中小型应用,单个业务领域,团队规模5-15人

特点

  • 单一Maven模块
  • 所有层(接口、应用、领域、基础设施)在同一模块内
  • 适合快速开发和部署

2. 多模块单体(单体多模块)

适用场景:中大型应用,多个业务域,团队规模15-50人

特点

  • 多个Maven模块,按业务域划分
  • 每个业务域包含完整的DDD四层架构
  • 共享common模块
  • 统一BOM和依赖管理

3. 微服务(单体微服务)

适用场景:大型电商平台,多个业务域,团队规模50+人

特点

  • 每个服务独立部署
  • 服务间通过RPC和消息队列通信
  • 每个服务内部按DDD四层架构组织
  • 独立的数据库和配置

如何使用此技能

关键:此技能应仅在用户明确提到创建ddd4j项目时触发。不要为无ddd4j上下文的通用DDD项目创建请求触发。

用于新DDD4j项目创建

  1. 从用户需求识别项目类型

    • 单模块单体 → single-module
    • 多模块单体 → multi-module
    • 微服务 → microservices
  2. examples/目录加载适当的示例

    • examples/single-module.md - 单模块单体结构
    • examples/multi-module.md - 多模块单体结构
    • examples/microservices.md - 微服务结构
    • examples/architecture-patterns.md - DDD、六边形、整洁、COLA V5模式
  3. 收集项目信息

    • groupId:Maven组ID(例如,com.github.hiwepyio.ddd4j.base
    • artifactId:Maven工件ID(例如,ddd4j-douyinmy-ddd4j-service
    • version:项目版本(例如,1.0.0-SNAPSHOT
    • parentVersion:父POM版本(例如,2023.0.x.20251205-SNAPSHOT或引用ddd4j-boot-parent
    • packageBase:基础包名(例如,io.ddd4j.douyincom.example.service
    • modules:业务模块列表(用于多模块/微服务)
    • architecture:架构模式(DDD经典、六边形、整洁、COLA V5)
    • ddd4jBootVersion:DDD4j Boot版本(如果使用ddd4j-boot-bom)
  4. 生成项目结构

    • 基于选定类型创建目录结构
    • 生成pom.xml文件(父和模块)
    • 为每个模块创建package-info.java文件
    • 生成.gitignoreLICENSEmvnwmvnw.cmd
    • 创建基本目录结构,包含src/main/javasrc/test/java
  5. 保存到项目目录

    • 默认位置:直接保存到命令执行目录(与命令同一级别)
    • 目录创建:自动创建项目目录结构,如果不存在
    • 文件命名:基于项目类型和模块名称使用描述性名称

用于现有项目验证

  1. 分析项目结构

    • 扫描项目目录寻找Maven模块
    • 识别层结构(接口、应用、领域、基础设施)
    • 检查包命名约定
    • 验证目录组织
  2. 识别项目类型

    • 单模块:根目录单个pom.xml,所有层在一个模块中
    • 多模块:父pom.xml带多个模块,每个模块有完整层
    • 微服务:多个服务,每个有独立结构
  3. 对照标准验证

    • 检查DDD层合规性
    • 验证依赖方向(接口 → 应用 → 领域 ← 基础设施)
    • 验证包命名({basePackage}.{module}.{layer}
    • 检查必需目录(src/main/javasrc/test/java
    • 验证package-info.java文件存在
  4. 生成验证报告

    • 列出识别的问题
    • 提供建议
    • 为非合规结构建议修复

输出格式和文件保存

生成项目结构时,遵循此响应结构:

  1. 先保存文件:直接在命令执行目录创建项目结构

    • 项目将在与命令执行同一级别的位置创建
    • 生成所有必需文件和目录(pom.xml、src/等)
    • 使用artifactId作为项目根目录名称
  2. 通知用户:告诉他们文件保存的位置

  3. 显示结构:在代码块中显示生成的目录结构

示例响应结构

  • 第一行:“我已创建DDD项目结构并保存到当前目录的./{artifactId}/。”
  • 然后显示包裹在代码块中的结构:
    • 开始:三个反引号 + text + 换行
    • 然后目录结构
    • 结束:三个反引号 + 换行

关键要求

  • 始终直接将项目文件保存到命令执行目录(同一级别)
  • 使用artifactId作为项目根目录名称
  • 自动创建目录结构,如果不存在
  • 生成完整的项目结构,包含所有必需文件
  • 严格遵守Maven和DDD约定

项目结构标准

包命名约定

对于多模块项目:

{basePackage}.{moduleName}.{layerName}

示例:

  • io.ddd4j.douyin.api.domain - API模块,领域层
  • io.ddd4j.douyin.api.application - API模块,应用层
  • io.ddd4j.douyin.api.interfaces - API模块,接口层
  • io.ddd4j.douyin.api.infrastructure - API模块,基础设施层

必需文件

每个模块必须有:

  • pom.xml - Maven配置
  • src/main/java/{package}/package-info.java - 包文档
  • src/test/java/ - 测试目录结构
  • .gitignore - Git忽略规则(在根目录)
  • LICENSE - 许可证文件(在根目录)
  • mvnwmvnw.cmd - Maven包装器(在根目录)

层依赖

正确的依赖方向

接口 → 应用 → 领域 ← 基础设施

规则

  • 领域层不得依赖于任何其他层
  • 基础设施层实现领域层接口
  • 应用层依赖于领域层
  • 接口层依赖于应用层

架构模式

此技能支持四种架构模式:

  1. DDD经典分层架构(DDD经典分层架构)

    • 层:接口、应用、领域、基础设施
    • 参考:docs/1、DDD 经典分层架构目录结构.mdexamples/architecture-patterns.md#ddd-classic
  2. 六边形架构(六边形架构)

    • 端口和适配器模式
    • 参考:docs/2、六边形架构详细目录结构参考.mdexamples/architecture-patterns.md#hexagonal
  3. 整洁架构(整洁架构)

    • 实体、用例、接口适配器
    • 参考:docs/3、整洁架构详细目录结构参考.mdexamples/architecture-patterns.md#clean
  4. COLA V5(菱形架构)

    • 适配器 → 应用 → 领域 ← 基础设施
    • 参考:docs/4、COLA V5 架构详细目录结构参考.mdexamples/architecture-patterns.md#cola-v5

验证规则

检查现有项目时,验证:

  1. 结构合规性

    • ✓ 正确的层组织
    • ✓ 适当的模块分离
    • ✓ 包命名约定
  2. 依赖规则

    • ✓ 领域层无外部依赖
    • ✓ 基础设施实现领域接口
    • ✓ 正确的依赖方向
  3. 文件组织

    • ✓ 必需目录存在
    • package-info.java文件存在
    • ✓ Maven配置正确
  4. 命名约定

    • ✓ 包名遵循约定
    • ✓ 模块名称描述性
    • ✓ 层名称标准

示例

examples/目录:

  • single-module.md - 完整的单模块单体示例
  • multi-module.md - 完整的多模块单体示例(基于ddd4j-douyin结构)
  • microservices.md - 完整的微服务示例
  • architecture-patterns.md - 所有四种架构模式,带详细结构

关键词

英文关键词: ddd4j, ddd4j-boot, ddd4j project, create ddd4j project, initialize ddd4j project, ddd4j project creator, ddd4j project scaffolding, ddd4j-boot project, ddd4j project structure, ddd4j-boot initialization, ddd4j microservice, ddd4j monolith

中文关键词(中文关键词): ddd4j, ddd4j-boot, ddd4j项目, 创建ddd4j项目, 初始化ddd4j项目, ddd4j项目创建, ddd4j项目脚手架, ddd4j-boot项目, ddd4j项目结构, ddd4j-boot初始化, ddd4j微服务, ddd4j单体应用

重要:所有关键词必须包含“ddd4j”以避免误触发。通用术语如“DDD项目”(DDD项目)或“创建项目”(创建项目)未包含“ddd4j”不应触发此技能。