
La arquitectura hexagonal los principales componentes son los microservicios.
La arquitectura hexagonal es una forma de organizar el código de una aplicación para que sea más fácil de mantener, probar y modificar con el tiempo.
La idea principal es separar la lógica del negocio (lo realmente importante de la aplicación) de todo lo externo, como bases de datos, interfaces web, APIs o servicios externos.
Explicación simple
Imagina una casa:
- En el centro está lo más importante: las reglas del negocio.
- Alrededor están las puertas y conexiones hacia el exterior.
- Si cambias una puerta, la casa sigue funcionando igual.
En arquitectura hexagonal ocurre lo mismo:
- El núcleo de la aplicación no depende de tecnologías externas.
- Las conexiones externas se hacen mediante “adaptadores”.
Componentes básicos
Núcleo (Dominio)
Contiene la lógica principal de la aplicación.
Ejemplo:
- Crear usuarios
- Calcular precios
- Validar pedidos
Puertos
Son interfaces o contratos que definen cómo se comunica el núcleo con el exterior.
Ejemplo:
- Guardar datos
- Enviar correos
- Obtener información
Adaptadores
Son las implementaciones reales de esos puertos.
Ejemplo:
- MySQL
- PostgreSQL
- API REST
- Interfaz web
Beneficios
- Más fácil cambiar tecnologías
- Código más limpio y ordenado
- Mejor para pruebas automáticas
- Menor dependencia entre componentes
Ejemplo cotidiano
Si una aplicación usa MySQL y mañana quiere usar PostgreSQL, solo se cambia el adaptador de base de datos, sin tocar la lógica principal.