随着软件系统复杂度的提升,传统的分层架构(Controller-Service-Repository)往往容易出现耦合严重、测试困难、依赖框架深度绑定等问题。六边形架构(Hexagonal Architecture),又称 端口与适配器架构(Ports & Adapters),为高可维护性、可测试性和可扩展性提供了清晰的解决方案。
一、六边形架构原理
六边形架构由 Alistair Cockburn 提出,其核心思想是 应用核心与外部系统解耦。
1. 核心概念
-
应用核心(Domain / Application)
包含业务逻辑和领域模型,是架构的核心,不依赖任何外部系统。 -
端口(Ports)
定义核心与外部系统交互的接口,包括输入端口(Inbound Port)和输出端口(Outbound Port)。-
输入端口:应用核心提供的操作接口(服务对外暴露)。
-
输出端口:应用核心依赖的外部资源接口(数据库、消息队列、第三方服务)。
-
-
适配器(Adapters)
实现端口,将核心与外部系统连接起来。-
驱动适配器(Driving Adapter):如 Web 控制器、CLI、测试工具,调用核心输入端口。
-
驱动被动适配器(Driven Adapter):如数据库实现、消息队列客户端,实现输出端口接口。
-
2. 架构示意
+----------------+ | Driving | | Adapter | | (Controller) | +--------+-------+ | +---------v---------+
六边形架构原理、实战与应用场景

最低0.47元/天 解锁文章
858

被折叠的 条评论
为什么被折叠?



