Hexagonal architectures for microservices 微服务的六边形架构

六边形架构 Hexagonal Architecture 也被称为接口与适配器架构 Prots and Adapters Architecture, 是一种软件架构模式, 旨在实现高内聚、低耦合和可测试性的应用程序设计. 该架构由 Alistair Cockburn 发明, 他是敏捷宣言的签署者之一. 该架构是说, 在任何应用程序中, 都有一个核心逻辑实现服务, 并且在该服务周围"附加"上一些接口, 用于核心与外部组件的交互.

例如, 一个 web API 就是一个适配器 adapter, 帮助核心逻辑与互联网上的 web 客户端交流. 对于数据库也是一样的, 其也是一个外部组件, 帮助服务维护数据. 如果我们需要, 应该要能迁移到其他的数据库, 并且服务仍然是相同的. 因此, 数据库也是一个适配器 adapter.

上述架构可通过在核心业务逻辑层与适配器之间构建接口 ports 来实现.

在处理核心业务逻辑与适配器之间的关系时, 应用依赖反转原则 dependency inversion principle:

依赖反转的概念经常同控制反转与依赖注入的概念一同出现, 这些是相关但是不同的概念.

依赖反转原则反转了什么? 这个原则改变了构建软件的思路, 与传统先实现底层细节然后再在其上构建接口的做饭相反, 依赖倒置原则鼓励我们先考虑接口, 然后再针对这些接口实现底层细节.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut