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.