本文是为了分享我对“端口和适配器”模式(也称为“六角形体系结构”)的理解,希望它可以对对此主题感兴趣的人有所帮助。

介绍

六角结构(也称为端口和适配器模式)于2005年由Alistair Cockburn记录,是一种软件设计中使用的体系结构模式,可促进与技术和框架的分离。

六角形体系结构是为了避免分层体系结构中已知的结构缺陷。

六角结构(端口和适配器模式)的思想是

  • 创建可以轻松连接到其软件环境的松耦合应用程序组件
  • 使组件可以在任何级别互换,以便可以由不同种类的客户端(人员,测试用例,其他应用程序……)运行
  • 可以与实际应用中的外部设备隔离地进行测试,

分层架构的陷阱

在分层体系结构中,一段时间后,所有项目都陷入了跨层过度耦合的问题。

建筑

Alistair Cockburn'a的目标是使用体系结构阻止业务逻辑从基础结构或框架中迁移,因此他将应用程序域绘制为六角形。

想象一个六角形,这里的六角形就是应用程序本身。 在六边形内部,我们仅拥有对于应用程序试图解决的业务问题很重要的事情。

六角建筑:引言第一部分

六边形包含业务逻辑,没有引用任何技术,框架或实际设备。

换句话说,在六边形中,六边形内的任何东西都必须没有技术问题,因此应用程序与技术无关

在六边形之外,我们可以与应用程序进行交互的任何现实世界中的事物。

什么是六角形建筑概述

  • 在Hexagon内部以及所有 业务模型/逻辑在Hexagon外部:基础架构
  • 依赖关系始终从Hexagon的外部到内部 ,这确保了业务域的隔离
  • 六边形本身 不依赖任何 东西不能依赖任何技术框架

六角形端口和适配器

六角建筑:引言第一部分

转接器

适配器用于实现具体的协议,某些外部系统或设备可以通过该协议与应用程序进行通信。

适配器在特定技术和技术自由端口之间转换。

适配器是允许技术与六角形端口进行交互的软件组件

在大多数情况下,REST控制器充当我们的主要适配器,提供端点通过端口(接口)访问域

适配器将特定的技术请求转换为域理解形式,并通过Interface(端口)传递到六角形

港口

端口是应用程序的边界,在图中,端口是六边形边缘

为了让外部与域进行交互,Hexagon提供了分为两类的业务接口(端口)

API:这些接口由Hexagon实现,也称为“ 入站接口

SPI :(服务提供商接口)是六边形实现业务逻辑所需的功能接口。 它也称为出站接口

六角形的

  1. 高维护性
  2. 低技术债务
  3. 轻松整合任何渠道,例如sql,ftp,Http,Ftp,JMS等。
  4. 易于测试,因为在需要实施合同时很容易创建模拟。
  5. 添加新需求意味着添加插件或实施合同。
  6. 适当分离关注点。

结论

这是我对六角形结构的理解。 在下一部分中,我想使用六边形体系结构遍历用例。

如果您想获得有关该主题的更多信息,请阅读Alistair Cockburn关于该主题的原始文章。

希望本文能帮助您了解六角建筑的概念,以及他们是谁,我将很高兴收到任何反馈!

From: https://hackernoon.com/hexagonal-architecture-introduction-part-i-e51h36id

相关文章:

  • 2021-12-02
  • 2021-06-22
  • 2021-06-09
  • 2021-11-10
  • 2021-07-14
  • 2022-01-27
  • 2021-07-15
  • 2021-07-06
猜你喜欢
  • 2021-05-07
  • 2022-12-23
  • 2021-12-17
  • 2021-09-25
  • 2021-07-01
  • 2021-07-02
  • 2021-07-13
相关资源
相似解决方案