Skip to content

Latest commit

 

History

1,943 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ddd4j Boot 3.x 简介

Ddd4j Boot 是䞀䞪基于 领域驱劚讟计DDD 思想的 Java 埮服务匀发脚手架。采甚 Spring Boot 3.4.13 构建基于自研 ddd4jfeature/2.0.x框架实现领域驱劚讟计、 呜什查询职莣分犻CQRS和事件驱劚架构。

版本基线Spring Boot 3.4.13 · Spring Framework 6.2.19 · Java 17区制基线21 兌容· ddd4j 2.0.x.20260630-SNAPSHOT · ddd4j-boot 3.4.x.20260630-SNAPSHOT

📖 从旧版本迁移请阅读 迁移指南3.4.x ↔ 2.0.x

本项目遵埪 Eric Evans 和 Vaughn Vernon 的 DDD 经兞理论䞍䟝赖特殊框架仅䜿甚标准的 JEE/Spring 规范垮助匀发者构建可绎技、可扩展的倍杂䞚务系统。

🎯 栞心讟计理念

领域驱劚讟计DDD

  • 战略讟计通过限界䞊䞋文Bounded Context划分䞚务蟹界建立统䞀语蚀Ubiquitous Language识别栞心域、支撑域和通甚域
  • 战术讟计采甚实䜓Entity、倌对象Value Object、聚合Aggregate、聚合根Aggregate Root、领域服务Domain Service、仓傚Repository、领域事件Domain Event等暡匏组织领域暡型
  • 充血暡型䞚务逻蟑封装圚领域对象内郚而非莫血的服务层确保领域暡型的完敎性和䞚务规则的内聚性

呜什查询职莣分犻CQRS

  • 读写分犻呜什䟧写暡型䞓泚于䞚务规则和状态变曎查询䟧读暡型䌘化数据检玢和视囟构建
  • 独立䌘化呜什和查询可以独立扩展、䌘化适应䞍同的性胜需求
  • 事件驱劚通过领域事件实现跚聚合、跚䞊䞋文的解耊通信

事件溯源Event Sourcing

  • 事件存傚将状态变曎记圕䞺事件序列支持完敎的历史远溯和状态重建
  • 时闎旅行可以回攟事件重建任意时闎点的系统状态
  • 审计胜力倩然支持完敎的䞚务操䜜审计

架构暡匏

  • 菱圢架构COLA采甚 Adapter → Application → Domain ← Infrastructure 四层架构枅晰的分层蟹界和䟝赖方向
  • 六蟹圢架构思想通过端口Port和适配噚Adapter隔犻领域栞心䞎倖郚技术实现
  • 䟝赖倒眮领域层䞍䟝赖基础讟斜层通过接口抜象实现技术无关性

✹ 䞻芁特性

  • 1. 完敎的 DDD 分层架构提䟛标准的领域层、应甚层、接口层和基础讟斜层结构支持 COLA V5 架构暡匏

  • 2. 蜻量级 DDD 实现基于自研 ddd4j 框架纯契纊/栞心暡型 → 胜力 SPI → 技术适配噚 → runtime 容噚桥无需匕入重量级框架保持代码简掁

  • 3. 技术栈集成基于 Spring Boot 3.4.13诊见 Spring Boot 官方文档 集成 MyBatis Plus、Jackson、Guava、Swagger、SaToken 等垞甚组件统䞀版本管理

  • 4. 双栈支持同时支持 WebMVC䌠统 Servlet和 WebFlux响应匏䞀种猖皋暡型

  • 5. 领域暡型基础胜力提䟛 BaseEntity、BaseRepository、BaseService 等基础抜象支持分页、排序、统计等通甚胜力

  • 6. 领域事件支持内眮领域事件发垃机制支持事件驱劚的䞚务猖排

  • 7. 防腐层ACL提䟛倖郚服务集成的防腐层抜象隔犻倖郚系统变化对领域暡型的圱响

  • 8. 统䞀匂垞倄理党局匂垞倄理机制支持䞚务匂垞和系统匂垞的标准化响应

📚 DDD/CQRS 孊习资源

劂果悚是 DDD/CQRS 领域的新手建议先了解以䞋栞心抂念

  • DDD 思绎富囟涵盖战略讟计限界䞊䞋文、子域划分、统䞀语蚀和战术讟计实䜓、倌对象、聚合、领域服务、仓傚、领域事件的完敎知识䜓系
  • CQRS 思绎富囟深入理解呜什查询职莣分犻、事件倄理、䞀臎性暡型等栞心抂念
  • 参考瀺䟋本仓库 ddd4j-boot-samples/ddd4j-boot-sample-order订单 + Outbox + Kafka䞎 ddd4j-boot-sample-cqrs-person-*CQRS 读写分犻

CQRS 架构抂览囟

该囟展瀺了基于 CQRS 的埮服务架构包括呜什䟧写暡型和查询䟧读暡型的分犻以及事件驱劚的系统集成方匏。

📊 项目定䜍

Ddd4j Boot 是䞀䞪面向倍杂䞚务领域的埮服务匀发脚手架旚圚垮助团队

  • 建立领域暡型通过 DDD 战术讟计暡匏将䞚务知识星匏地衚蟟圚代码䞭
  • 划分䞚务蟹界通过限界䞊䞋文识别和划分䞚务领域降䜎系统倍杂床
  • 提升代码莚量通过分层架构和䟝赖倒眮实现高内聚、䜎耊合的代码结构
  • 支持䞚务挔进领域暡型䞎技术实现分犻䞚务变化䞍圱响技术架构

本项目提䟛通甚的 Maven 配眮、第䞉方䟝赖管理、打包规则以及 DDD 分层架构的基础讟斜支持。

🏗 项目架构

Ddd4j Boot 敎䜓架构囟

该囟展瀺了 Ddd4j Boot 的敎䜓暡块架构包括 BOM 管理、栞心暡块、组件暡块和瀺䟋暡块的组织关系以及各暡块之闎的䟝赖关系。

Maven 暡块架构

暡块 诎明
ddd4j-boot-bom BOM 䟝赖管理暡块统䞀管理所有子暡块版本倖郚项目通过 BOM 匕甚实现版本对霐
ddd4j-boot-dependencies 公共䟝赖声明暡块集䞭管理第䞉方组件版本含 Lombok annotation processor 配眮
ddd4j-boot-core 栞心自劚配眮SPI 生呜呚期桥接DomainEventPublisher/Subject/I18n/CommandBus 泚册、Repository 自劚泚册、CommandBus 装配
ddd4j-boot-web Web 装配webmvc / webflux 䞀䞪薄适配暡块条件互斥
ddd4j-boot-mq MQ 装配mq-core + 13 䞪 broker 薄适配噚消莹䞊枞 MQClient 统䞀暡型
ddd4j-boot-data 数据装配mybatis / crypto / datascope / external / logs
ddd4j-boot-auth 讀证装配satoken / security / shiro / license
ddd4j-boot-cache 猓存属性绑定CacheKit 静态工具泚册倖郚猓存实䟋
ddd4j-boot-extensions 扩展装配akka / cola / dubbo / excel / jackson / monitor / qlexpress / qrcode 等
ddd4j-boot-samples 瀺䟋服务暡块集合涵盖䞍同技术栈组合数据源、消息队列、CQRS、富暡型等

䜿甚建议

  • 1. 项目结构规划新建䞚务服务时建议按限界䞊䞋文Bounded Context划分暡块。每䞪限界䞊䞋文对应䞀䞪独立的服务或暡块保持䞚务蟹界的枅晰

  • 2. 领域暡型讟计䌘先识别聚合Aggregate和聚合根将䞚务规则封装圚领域对象内郚避免莫血暡型。应甚层仅莟莣甚䟋猖排和事务管理

  • 3. 暡块拆分策略对于倍杂的䞚务域应考虑按子域栞心域、支撑域、通甚域拆分服务。创建暡块时预留拆分空闎䟿于后续埮服务化挔进

  • 4. 䟝赖管理倖郚项目匕甚 ddd4j-boot 暡块时区烈建议䜿甚 ddd4j-boot-bom 进行版本管理确保䟝赖版本䞀臎性

  • 5. 技术选型根据䞚务倍杂床选择合适的架构暡匏。简单 CRUD 场景可䜿甚蜻量级 DDD倍杂䞚务域建议采甚完敎的 DDD + CQRS 暡匏

暡块结构树

|--ddd4j-boot
|----ddd4j-boot-bom                       #BOM䟝赖管理甚于倖郚项目匕甚 ddd4j-boot 暡块版本管理
|----ddd4j-boot-dependencies              #公共䟝赖䟿于䟝赖组件版本控制含 Lombok 倄理噚配眮
|----ddd4j-boot-core                      #栞心自劚配眮SPI 生呜呚期 / Repository 泚册 / CommandBus
|----ddd4j-boot-web                       #Web 装配父暡块
|------ddd4j-boot-web-webmvc              #WebMVC 装配Servlet
|------ddd4j-boot-web-webflux             #WebFlux 装配Reactive
|----ddd4j-boot-mq                        #MQ 装配父暡块
|------ddd4j-boot-mq-core                 #MQ 统䞀匀关䞎属性绑定
|------ddd4j-boot-mq-{activemq,disruptor,kafka,mqtt,mqtt-mica,nats,ons,pulsar,rabbitmq,redis-stream,rocketmq,sqs,tdmq}  #13 䞪 broker 薄适配噚
|----ddd4j-boot-data                      #数据装配父暡块
|------ddd4j-boot-data-{mybatis,crypto,datascope,external,logs}
|----ddd4j-boot-auth                      #讀证装配父暡块
|------ddd4j-boot-auth-{satoken,security,shiro,license}
|----ddd4j-boot-cache                     #猓存属性绑定
|----ddd4j-boot-extensions                #扩展装配父暡块
|------ddd4j-boot-extension-{akka,cola,dubbo,excel,jackson,monitor,qlexpress,qrcode,pf4j}
|----ddd4j-boot-samples                   #瀺䟋服务
|--------ddd4j-boot-sample-order          #Spring Boot + Postgres + Kafka + Outbox 绌合瀺䟋
|--------ddd4j-boot-sample-rich-model     #充血暡型 + MyBatis-Plus 瀺䟋
|--------ddd4j-boot-sample-layered        #分层架构瀺䟋
|--------ddd4j-boot-sample-cqrs-person-*  #CQRS 读写分犻瀺䟋
|--------ddd4j-boot-sample-starter-*      #数据源Druid/HikariCP+ MQAMQ/Kafka/MQTT/RocketMQ组合瀺䟋

📖 䜿甚诎明

1. 倖郚项目匕甚掚荐䜿甚 BOM

圚倖郚项目的 pom.xml 䞭匕入 BOM

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.ddd4j.boot</groupId>
            <artifactId>ddd4j-boot-bom</artifactId>
            <version>${ddd4j-boot.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

然后盎接匕入需芁的暡块无需指定版本

<dependencies>
    <dependency>
        <groupId>io.ddd4j.boot</groupId>
        <artifactId>ddd4j-boot-core</artifactId>
    </dependency>
    <dependency>
        <groupId>io.ddd4j.boot</groupId>
        <artifactId>ddd4j-boot-web-webmvc</artifactId>
    </dependency>
    <dependency>
        <groupId>io.ddd4j.boot</groupId>
        <artifactId>ddd4j-boot-mq-kafka</artifactId>
    </dependency>
</dependencies>

2. 内郚项目䜿甚

内郚项目继承 ddd4j-boot-parent

<parent>
    <groupId>io.ddd4j.boot</groupId>
    <artifactId>ddd4j-boot-parent</artifactId>
    <version>${revision}</version>
    <relativePath>../ddd4j-boot-parent/pom.xml</relativePath>
</parent>

3. 组件暡块诎明

组件暡块 诎明
ddd4j-boot-core 栞心自劚配眮SPI 生呜呚期DomainEventPublisher/Subject/I18n/CommandBus 泚册䞎关闭枅理、Repository 自劚泚册、CommandBus 装配
ddd4j-boot-web-webmvc WebMVC 装配Servlet 条件互斥统䞀匂垞/请求䞊䞋文/幂等防技
ddd4j-boot-web-webflux WebFlux 装配Reactive 条件互斥统䞀错误倄理䞎请求䞊䞋文
ddd4j-boot-mq-core MQ 统䞀匀关ddd4j.mq.enabled䞎属性绑定
ddd4j-boot-mq-{activemq,disruptor,kafka,mqtt,mqtt-mica,nats,ons,pulsar,rabbitmq,redis-stream,rocketmq,sqs,tdmq} 13 䞪 broker 薄适配噚消莹䞊枞 MQClient 统䞀暡型
ddd4j-boot-data-mybatis MyBatis-Plus 拊截噚装配分页/乐观锁/防党衚攻击
ddd4j-boot-data-crypto 加解密策略装配AES/SM 等crypto.enabled 匀关
ddd4j-boot-data-datascope 数据权限装配DataScopeProvider + 泚解校验噚
ddd4j-boot-data-external 倖郚服务地理䜍眮/倩气/行政区划䞎党局序列号
ddd4j-boot-data-logs API 操䜜日志切面装配
ddd4j-boot-auth-{satoken,security,shiro} 䞉种讀证框架的 SubjectProvider 适配互斥装配
ddd4j-boot-auth-license TrueLicense 讞可证装配license.* 配眮
ddd4j-boot-cache CacheKit 属性绑定䞚务通过 CacheKit.register(biz, cache) 泚册猓存
ddd4j-boot-extension-{akka,cola,dubbo,excel,jackson,monitor,qlexpress,qrcode} 扩展组件装配Actor 系统/COLA 架构/Dubbo 扫描/Excel 工具/Jackson 默讀配眮/监控/规则匕擎/二绎码

📁 DDD 分层目圕结构

栞心胜力暡块ddd4j / ddd4j-runtime-spring / ddd4j-data-mybatis

遵埪 DDD 经兞四层架构䜓现枅晰的职莣分犻和䟝赖方向

ddd4j/
├── src/main/java/io/ddd4j/boot/core
│   │
│   ├── domain/                # 领域层栞心无倖郚䟝赖
│   │   ├── model/             # 领域暡型
│   │   │   ├── entity/        # 实䜓Entity- 有唯䞀标识的䞚务对象
│   │   │   ├── vo/            # 倌对象Value Object- 䞍可变的描述性对象
│   │   │   └── aggregate/     # 聚合根Aggregate Root- 䞀臎性蟹界
│   │   ├── event/             # 领域事件Domain Event- 䞚务事实的衚蟟
│   │   ├── repository/        # 仓傚接口Repository- 持久化抜象
│   │   └── service/           # 领域服务Domain Service- 跚聚合的䞚务逻蟑
│   │
│   ├── application/           # 应甚层甚䟋猖排层
│   │   ├── command/           # 呜什对象Command- CQRS 写操䜜蟓入
│   │   ├── query/             # 查询对象Query- CQRS 读操䜜蟓入
│   │   ├── dto/               # 数据䌠蟓对象DTO- 跚层数据䌠蟓
│   │   ├── service/           # 应甚服务Application Service- 甚䟋猖排、事务蟹界
│   │   └── mapper/            # 对象映射噚 - DTO 䞎领域对象蜬换
│   │
│   ├── interfaces/            # 接口层甚户接口层/适配噚层
│   │   ├── web/               # Web 接口适配噚REST API、GraphQL 等
│   │   └── facade/            # 倖郚服务接口RPC、消息监听等
│   │
│   └── infrastructure/        # 基础讟斜层技术实现层
│       ├── persistence/       # 持久化实现MyBatis、JPA 等
│       ├── messaging/         # 消息䞭闎件实现Kafka、RabbitMQ 等
│       ├── acl/               # 防腐层实现Anti-Corruption Layer- 倖郚系统适配
│       └── config/            # 技术配眮类
│
└── src/main/resources/

䟝赖方向interfaces → application → domain ← infrastructure

  • 领域层完党独立䞍䟝赖任䜕其他层包含纯䞚务逻蟑
  • 应甚层䟝赖领域层莟莣甚䟋猖排和事务管理
  • 接口层䟝赖应甚层莟莣协议蜬换和数据验证
  • 基础讟斜层䟝赖领域层通过接口实现技术细节
组件暡块
ddd4j-boot-{暡块}/
├── src/main/java/io/ddd4j/boot/{暡块}
│   ├── application/           # 应甚层
│   │   ├── command/           # 呜什对象
│   │   ├── dto/               # 数据䌠蟓对象
│   │   ├── service/           # 应甚服务
│   │   └── mapper/            # DTO䞎领域对象映射
│   ├── domain/                # 领域层
│   │   ├── model/             # 领域暡型
│   │   │   ├── entity/        # 实䜓
│   │   │   ├── vo/            # 倌对象
│   │   │   └── aggregate/     # 聚合根
│   │   ├── event/             # 领域事件
│   │   ├── repository/        # 仓傚接口
│   │   └── service/           # 领域服务
│   ├── infrastructure/        # 基础讟斜层
│   │   ├── persistence/       # 持久化实现
│   │   ├── messaging/         # 消息组件
│   │   └── acl/               # 防腐层
│   │   └── config/            # 配眮类
│   └── interfaces/            # 甚户接口层
│       ├── web/               # REST接口
│       └── facade/            # 倖郚服务接口
└── src/main/resources/
䞚务服务瀺䟋暡块

瀺䟋暡块采甚 COLA V5 架构菱圢架构完敎展瀺 DDD 圚䞚务服务䞭的实践。适甚于倧倚数倍杂䞚务场景劂订单䞭心、支付系统等。

架构特点

  • 领域层独立domain 包完党独立䞍䟝赖任䜕技术框架
  • 䟝赖倒眮通过接口抜象实现领域层䞎技术实现的解耊
  • 枅晰蟹界每层职莣明确䟿于测试和绎技

䞋面是䞀种䞍同场景䞋诊细的COLA目圕结构

场景䞀电商订单服务的诊细目圕包分层结构

这是䞀种兞型包分层结构适甚于倧倚数䞚务应甚劂订单䞭心。结构玧凑适合快速匀发

order-service/  (Maven项目根目圕)
├─ src/
│   └─ main/
│       ├─ java/
│       │   └─ com/
│       │       └─ example/
│       │           └─ order/
│       │               ├─ adapter/                     # 适配层
│       │               │   ├─ web/
│       │               │   │   ├─ OrderController.java  # REST API控制噚
│       │               │   │   └─ OrderDetailController.java
│       │               │   └─ mq/                      # 消息监听噚
│       │               │       └─ OrderEventListener.java
│       │               │
│       │               ├─ client/                      # 接口层对倖API
│       │               │   ├─ api/                     # 服务接口定义
│       │               │   │   ├─ OrderServiceI.java    # 接口声明
│       │               │   │   └─ OrderQueryServiceI.java
│       │               │   └─ dto/                     # 数据䌠蟓对象
│       │               │       ├─ command/
│       │               │       │   ├─ CreateOrderCmd.java
│       │               │       │   └─ CancelOrderCmd.java
│       │               │       ├─ query/
│       │               │       │   └─ OrderQry.java
│       │               │       └─ data/
│       │               │           ├─ OrderDTO.java     # 返回给前端的数据
│       │               │           └─ OrderDetailDTO.java
│       │               │
│       │               ├─ app/                         # 应甚层甚䟋猖排
│       │               │   ├─ executor/                # 甚䟋执行噚事务蟹界
│       │               │   │   ├─ CreateOrderCmdExe.java
│       │               │   │   ├─ CancelOrderCmdExe.java
│       │               │   │   └─ OrderQryExe.java
│       │               │   └─ service/                 # 服务实现非必须
│       │               │       └─ OrderServiceImpl.java # 实现Client层的接口
│       │               │
│       │               ├─ domain/                      # 领域层栞心䞚务
│       │               │   ├─ model/                   # 领域暡型充血暡型
│       │               │   │   ├─ entity/
│       │               │   │   │   ├─ Order.java       # 订单实䜓含䞚务逻蟑
│       │               │   │   │   ├─ OrderItem.java   # 订单项倌对象
│       │               │   │   │   └─ OrderStatus.java # 枚䞟
│       │               │   │   └─ aggregate/           # 聚合根若倍杂领域
│       │               │   │       └─ OrderAggregate.java
│       │               │   ├─ service/                 # 领域服务
│       │               │   │   └─ OrderDomainService.java # 跚实䜓的䞚务逻蟑
│       │               │   ├─ gateway/                 # 领域眑关接口
│       │               │   │   ├─ OrderGateway.java    # 仓傚接口
│       │               │   │   └─ InventoryGateway.java # 防腐层接口
│       │               │   └─ event/                   # 领域事件定义
│       │               │       └─ OrderCreatedEvent.java
│       │               │
│       │               └─ infrastructure/              # 基础讟斜层
│       │                   ├─ config/                  # 配眮类
│       │                   │   ├─ WebConfig.java
│       │                   │   └─ MybatisConfig.java
│       │                   ├─ persistence/             # 持久化实现
│       │                   │   ├─ mapper/              # MyBatis Mapper
│       │                   │   │   └─ OrderMapper.java
│       │                   │   ├─ dataobject/          # 数据库实䜓DO
│       │                   │   │   └─ OrderDO.java
│       │                   │   └─ converter/           # 蜬换噚
│       │                   │       └─ OrderConverter.java # DO<->Entity蜬换
│       │                   ├─ gatewayimpl/             # 眑关实现
│       │                   │   ├─ OrderGatewayImpl.java
│       │                   │   └─ InventoryGatewayImpl.java
│       │                   ├─ mq/                      # 消息䞭闎件实现
│       │                   │   └─ RocketMQProducer.java
│       │                   └─ external/                # 倖郚服务调甚
│       │                       └─ InventoryClient.java # 调甚库存服务
│       │
│       └─ resources/
│           ├─ mapper/                                  # MyBatis XML
│           │   └─ OrderMapper.xml
│           ├─ application.yml
│           └─ logback-spring.xml
│
├─ pom.xml
├─ README.md
└─ .gitignore

DDD 实践芁点

  • 䟝赖倒眮原则从 adapter → app → domain ← infrastructure䞥栌遵埪䟝赖方向领域层䞍䟝赖任䜕倖郚技术
  • 领域暡型独立domain 包完党独立包含纯䞚务逻蟑可独立进行单元测试
  • 技术隔犻所有技术细节数据库、消息队列、倖郚服务调甚封装圚 infrastructure 层通过接口䞎领域层亀互
  • 聚合蟹界枅晰Order 䜜䞺聚合根绎技 OrderItem 的䞀臎性所有䞚务操䜜通过聚合根进行
  • 领域事件驱劚通过领域事件实现跚聚合、跚䞊䞋文的解耊通信
场景二超倧型倍杂系统的诊细目圕倚暡块结构

适甚于超倧型倍杂系统劂银行栞心系统需芁䞥栌的物理隔犻和独立郚眲胜力

cola-platform/  (Maven父工皋)
├─ start/                          # 启劚暡块Spring Boot入口
│   ├─ src/main/java/
│   │   └─ com/example/platform/
│   │       └─ PlatformApplication.java  # 䞻启劚类
│   ├─ src/main/resources/
│   │   └─ application.yml         # 䞻配眮文件
│   └─ pom.xml                     # 䟝赖其他所有暡块
│
├─ adapter/                        # 适配层暡块
│   ├─ src/main/java/
│   │   └─ com/example/platform/adapter/
│   │       ├─ web/                # Web适配噚
│   │       ├─ mq/                 # 消息适配噚
│   │       └─ rpc/                # RPC适配噚
│   └─ pom.xml                     # 䟝赖client、app暡块
│
├─ client/                         # 接口层暡块独立JAR
│   ├─ src/main/java/
│   │   └─ com/example/platform/client/
│   │       ├─ api/                # 服务接口
│   │       └─ dto/                # 数据䌠蟓对象
│   └─ pom.xml                     # 纯接口无倖郚䟝赖
│
├─ app/                            # 应甚层暡块
│   ├─ src/main/java/
│   │   └─ com/example/platform/app/
│   │       ├─ executor/           # 甚䟋执行噚
│   │       └─ service/            # 服务实现
│   └─ pom.xml                     # 䟝赖domain暡块
│
├─ domain/                         # 领域层暡块栞心
│   ├─ src/main/java/
│   │   └─ com/example/platform/domain/
│   │       ├─ model/              # 领域暡型
│   │       ├─ service/            # 领域服务
│   │       └─ gateway/            # 眑关接口
│   └─ pom.xml                     # 纯䞚务无倖郚䟝赖
│
├─ infrastructure/                 # 基础讟斜层暡块
│   ├─ src/main/java/
│   │   └─ com/example/platform/infrastructure/
│   │       ├─ persistence/        # 持久化
│   │       ├─ gatewayimpl/        # 眑关实现
│   │       ├─ external/           # 倖郚调甚
│   │       └─ config/             # 配眮
│   └─ pom.xml                     # 䟝赖domain可䟝赖倖郚SDK
│
├─ common/                         # 通甚工具暡块可选
│   ├─ src/main/java/
│   │   └─ com/example/platform/common/
│   │       ├─ util/               # 工具类
│   │       ├─ constant/           # 垞量
│   │       └─ exception/          # 匂垞定义
│   └─ pom.xml
│
└─ pom.xml                         # 父POM管理所有子暡块

About

Spring Boot integration for ddd4j: 44+ Starters, auth/cache/data/ddd modules (io.ddd4j.boot)

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages