侧边栏壁纸
  • 累计撰写 8 篇文章
  • 累计创建 8 个标签
  • 累计收到 0 条评论

面向领域的六边形架构

Xiu Bug
2024-09-11 / 0 评论 / 0 点赞 / 616 阅读 / 925 字
温馨提示:
本文最后更新于 2024-09-14,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

六边形架构介绍

2e3e0acccfa5e96d9bef8e0a7090660d.jpg
六边形架构(也称为端口和适配器模式)是一种软件架构模式,它将应用程序分为两层:内部的业务逻辑层和外部的适配器层。内部层专注于业务逻辑,而外部层包括多个入站适配器和出站适配器,用于处理来自外部的请求和与外部系统进行交互。
关键特性

  1. 业务逻辑与适配器分离:
  • 业务逻辑层(核心)不依赖于任何特定的表示层或数据访问层逻辑。
  • 外部适配器(入站和出站)通过端口(接口)与业务逻辑层交互,实现了解耦。
  1. 端口和适配器:
  • 端口:定义业务逻辑层与外部系统交互的协议(通常以接口的形式存在)。
  • 适配器:实现这些协议,并处理具体的外部请求或与外部系统的通信。
  1. 解耦与测试:
  • 由于业务逻辑与外部适配器分离,业务逻辑的测试变得更加独立和简单。
  • 可以更容易地替换或修改适配器而不影响核心业务逻辑。
  1. 支持微服务架构:
  • 六边形架构适用于微服务,每个服务可以有不同的适配器,调用和暴露不同的接口和外部系统。
  1. 业务逻辑设计模式:
  • 六边形架构不指定业务逻辑的内部设计模式。可以根据应用复杂度选择不同的设计模式,如简单应用使用面向事务脚本模式,复杂应用使用面向领域建模模式。

总结: 六边形架构的主要优点是将业务逻辑与技术实现细节(如表示层和数据访问层)解耦,从而提高了系统的灵活性、可维护性和测试性。它适用于需要灵活适配不同外部系统的应用,并为微服务架构中的服务设计提供了有效的支持。

DOHA 架构介绍

面向领域的六边形架构(Domain-Oriented Hexagonal Architecture)是应用领域建模业务逻辑,落地六边形架构的方法。

DOHA 逻辑架构

image.png
DOHA 将应用分为 Adapter 层、Port 层和 Domain 层。Adapter 层依赖 Port 层,Port 层和 Domain 层作为业务逻辑层互相依赖。

DOHA 实现架构

image.png
DOHA 将工程分为:

  • doha-starter:应用启动和部署单元,依赖 doha-business 和 doha-adapter 工程。
  • doha-Interface:为第三方应用提供接口 API,如 RPC、Event、MQ 等,不依赖其它工程。
  • doha-adapter:出入站适配器的实现都在这里,依赖 doha-business 工程。
  • doha-business:业务逻辑实现的地方,不依赖其它工程。
0

评论区