六边形架构代码设计及实现 - 第四章 - DDD领域模型

基于六边形架构的思想,使用 Java Spring Boot 框架,给出一个简化版的订单管理系统示例代码。示例中会体现:领域层(核心业务逻辑)、端口(接口)、适配器(输入、输出适配器)。

复制代码
src/main/java/com/halo26812/ddd/v1/
├── DDDV1Application.java              # Spring Boot启动类
├── adapters                           # 适配器层(ACL)
│   ├── inbound                        # 输入适配器
│   │   └── PersonController.java      # REST API控制器
│   └── outbound                       # 输出适配器
│       └── persistence                # 持久化相关
│           ├── PersonEntity.java      # 数据库实体
│           └── PersonRepositoryImpl.java  # 仓储实现
├── domain                             # 领域层
│   ├── model                          # 领域模型
│   │   ├── Person.java                # Person聚合根
│   │   ├── PersonId.java              # Person标识符值对象
│   │   └── Sex.java                   # 性别枚举值对象
│   ├── ports                          # 端口定义
│   │   ├── in                         # 输入端口(供应用层调用)
│   │   │   ├── PersonRecord.java      # REST请求记录类
│   │   │   ├── PersonRestApi.java     # REST API接口
│   │   │   └── PersonService.java     # 领域服务接口
│   │   └── out                        # 输出端口(供基础设施实现)
│   │       └── PersonRepository.java  # 仓储接口
│   └── service                        # 领域服务实现
│       └── PersonServiceImpl.java     # Person领域服务实现
└── resources
    ├── application.properties         # 应用配置文件
    └── log4j2.xml                     # 日志配置文件

架构层次说明

应用启动层: DDDV1Application作为Spring Boot启动类

用户接口层: adapters.inbound包下的PersonController处理HTTP请求

领域层: 包含核心业务逻辑,分为model(模型)、ports(端口)和服务实现

基础设施层: adapters.outbound包负责数据持久化等技术实现

相关推荐
晚霞的不甘6 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
程序猿追7 小时前
昇腾算力之锚:深度解读 CANN ascend-toolkit 异构计算架构与工程实践
架构
一枕眠秋雨>o<7 小时前
深入 CANN ops-nn:昇腾 NPU 算子开发的工程化实践与架构哲学
架构
未来龙皇小蓝7 小时前
RBAC前端架构-01:项目初始化
前端·架构
island13147 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 架构、模板元编程与融合算子的显存管理策略
人工智能·神经网络·架构·智能路由器
晚霞的不甘8 小时前
CANN 支持强化学习:从 Isaac Gym 仿真到机械臂真机控制
人工智能·神经网络·架构·开源·音视频
哈__8 小时前
CANN: AI 生态的异构计算核心,从架构到实战全解析
人工智能·架构
七牛云行业应用8 小时前
Moltbook一夜崩盘:150万密钥泄露背后的架构“死穴”与重构实战
网络安全·postgresql·架构·高并发·七牛云
塔中妖9 小时前
CANN深度解读:从算子库看AI计算的底层架构
人工智能·架构
全栈前端老曹9 小时前
【MongoDB】深入研究副本集与高可用性——Replica Set 架构、故障转移、读写分离
前端·javascript·数据库·mongodb·架构·nosql·副本集