Saltar al contenido
HexagonalPuertosAdaptadores

Arquitectura hexagonal

Puertos y adaptadores son una regla sobre la dirección de las dependencias. El dominio no conoce HTTP, SQL ni el message broker.

Experiencia personal

En Armirene la elección documentada fue arquitectura limpia para una plataforma de ecommerce. La arquitectura hexagonal es la misma regla de dependencias con otro nombre: dominio en el centro, infraestructura en el borde.

Perspectiva técnica

Un puerto es una interfaz que posee el dominio. Un adaptador es una implementación que posee la infraestructura. Si el dominio importa Eloquent, Laravel, Redis o tipos HTTP, no hay hexágono. Hay una aplicación de framework con una carpeta llamada domain.

El retorno aparece en los bordes: un proveedor de pagos, un nuevo storefront, un worker que consume el mismo caso de uso que un controller. Sin puertos, cada borde copia el caso de uso. Con puertos, el caso de uso se queda.

El costo es indirección. Para una herramienta admin de tres tablas, no vale la pena. Para una plataforma de ecommerce que va a sobrevivir a su primer proveedor de pagos, sí.

Architecture

Dominio en el centro

HTTP adapter

Worker adapter

Use cases

Domain

Persistence adapter

Payment adapter

Perspectiva técnica, alineada con la arquitectura limpia usada en la plataforma de ecommerce de Armirene.