SuperAPI AI 工具集

ddd-hexagonal-architecture

通用与其它

查看项目

更新于 10-16 03:15

技能介绍

用途:当需要按六边形(端口与适配器)架构设计应用、隔离领域层与外部系统(数据库、API、消息)、实现依赖倒置、绘制或落地分层结构、以及用内存或模拟适配器隔离测试领域时,可使用本技能。

主要能力与流程:先定义领域模型,包含实体、值对象和领域服务;再在领域层为所有外部交互定义端口(接口);随后实现满足端口契约的适配器,入站如 HTTP、消息,出站如数据库、外部 API;最后完成依赖装配,使所有依赖箭头指向领域。

必要用法要点:端口定义放在领域层,不依赖框架,例如 UserRepository 提供 findById 与 save,EventPublisher 提供 publish;入站适配器可用带 @RestController、@RequestMapping、@PostMapping 的控制器调用用例;出站适配器可用带 @Repository 的 JPA 实现实现领域端口。包结构通常划分为 domain(model、port、service)、application(usecase)、adapter(inbound、outbound)与 config(依赖注入装配)。

适用场景:需要清晰边界、可替换存储或传输实现、领域可独立测试的项目;可与 COLA 或整洁架构结合,六边形本质是“一个领域层 + 多个适配器”。

限制与最佳实践:领域层必须零框架依赖,应能用内存或模拟适配器测试;一个端口可有多个适配器;DTO 保留在适配器边界,领域不暴露持久化或传输模型。资料另提供 Alistair Cockburn 原文与 DDD 与六边形架构相关文章链接。技能自身未提供安装命令、费用或平台信息,暂未提供。