六边形架构介绍
六边形架构(也称为端口和适配器模式)是一种软件架构模式,它将应用程序分为两层:内部的业务逻辑层和外部的适配器层。内部层专注于业务逻辑,而外部层包括多个入站适配器和出站适配器,用于处理来自外部的请求和与外部系统进行交互。
关键特性:
- 业务逻辑与适配器分离:
- 业务逻辑层(核心)不依赖于任何特定的表示层或数据访问层逻辑。
- 外部适配器(入站和出站)通过端口(接口)与业务逻辑层交互,实现了解耦。
- 端口和适配器:
- 端口:定义业务逻辑层与外部系统交互的协议(通常以接口的形式存在)。
- 适配器:实现这些协议,并处理具体的外部请求或与外部系统的通信。
- 解耦与测试:
- 由于业务逻辑与外部适配器分离,业务逻辑的测试变得更加独立和简单。
- 可以更容易地替换或修改适配器而不影响核心业务逻辑。
- 支持微服务架构:
- 六边形架构适用于微服务,每个服务可以有不同的适配器,调用和暴露不同的接口和外部系统。
- 业务逻辑设计模式:
- 六边形架构不指定业务逻辑的内部设计模式。可以根据应用复杂度选择不同的设计模式,如简单应用使用面向事务脚本模式,复杂应用使用面向领域建模模式。
总结: 六边形架构的主要优点是将业务逻辑与技术实现细节(如表示层和数据访问层)解耦,从而提高了系统的灵活性、可维护性和测试性。它适用于需要灵活适配不同外部系统的应用,并为微服务架构中的服务设计提供了有效的支持。
DOHA 架构介绍
面向领域的六边形架构(Domain-Oriented Hexagonal Architecture)是应用领域建模业务逻辑,落地六边形架构的方法。
DOHA 逻辑架构
DOHA 将应用分为 Adapter 层、Port 层和 Domain 层。Adapter 层依赖 Port 层,Port 层和 Domain 层作为业务逻辑层互相依赖。
DOHA 实现架构
DOHA 将工程分为:
- doha-starter:应用启动和部署单元,依赖 doha-business 和 doha-adapter 工程。
- doha-Interface:为第三方应用提供接口 API,如 RPC、Event、MQ 等,不依赖其它工程。
- doha-adapter:出入站适配器的实现都在这里,依赖 doha-business 工程。
- doha-business:业务逻辑实现的地方,不依赖其它工程。
评论区