加载中...

六边形架构(Hexagonal Architecture)又称端口与适配器架构(Ports and Adapters),由 Alistair Cockburn 提出。它把应用划分为内部的业务核心与外部的驱动方(UI、测试)和被驱动方(数据库、消息队列),两者通过端口(接口)与适配器(实现)连接。
业务核心只依赖自己定义的端口接口,不直接引用任何框架或基础设施代码;数据库驱动、Web 框架、外部服务客户端都作为适配器插在端口上,可以随时替换。依赖方向始终由外向内。
常与领域驱动设计配合使用,便于对核心逻辑做纯内存单元测试,也便于把关系型数据库换成其他存储而不动业务代码。
优点是可测试性强、技术选型可替换;缺点是接口与适配器层增加了代码量,小型项目可能得不偿失。

登录 后参与讨论
暂无讨论,来发表第一条评论吧