Introducci贸n
Imagina que tienes una aplicaci贸n que cocina peras y manzanas. Tienes la receta (la l贸gica de negocio) y diferentes formas de cocinarla: en horno, en microondas, o incluso en una app m贸vil. Pero… ¿qu茅 pasa si cambias la forma de cocinar? ¿Tendr铆as que cambiar toda la receta? La arquitectura hexagonal (tambi茅n llamada Ports and Adapters) naci贸 para resolver exactamente eso.
1. El problema de las capas tradicionales
En las arquitecturas tradicionales (por ejemplo, MVC cl谩sico), la aplicaci贸n suele estar fuertemente acoplada a frameworks, bases de datos o controladores HTTP. Por ejemplo: Si cambias tu base de datos de MySQL a MongoDB, debes modificar c贸digo en varias partes. Si agregas una nueva API REST o una interfaz gr谩fica, debes tocar tu capa de negocio. Esto genera dependencias cruzadas y hace que cada cambio t茅cnico afecte la l贸gica central.
2. La idea central de la arquitectura hexagonal
En una arquitectura hexagonal, la l贸gica de negocio vive en el centro (como el coraz贸n de la aplicaci贸n). Todo lo que la rodea (base de datos, API, mensajer铆a, interfaz) se conecta mediante puertos (ports) y adaptadores (adapters).
En palabras simples:
La l贸gica no sabe si los datos vienen de una base, de una API o de un archivo JSON. Solo espera que alguien le entregue los datos con el formato correcto. As铆 logramos que la receta (el negocio) no dependa del tipo de cocina (la infraestructura).
3. Ejemplo con peras y manzanas
Sin arquitectura hexagonal:
Aqu铆, FrutaService
depende directamente del repositorio. Si ma帽ana cambias de base de datos, tienes que modificar el servicio.
Con arquitectura hexagonal:
Resultado: tu servicio nunca cambia, aunque cambie la fuente de datos.
4. Beneficios clave
- 馃敼 Desacoplamiento total entre negocio y tecnolog铆a.
- 馃敼 Facilidad de pruebas unitarias: puedes usar mocks sin conectarte a BD.
- 馃敼 Sustituibilidad: cambia un adaptador por otro sin tocar la l贸gica.
- 馃敼 Escalabilidad: agrega nuevas entradas (API, CLI, eventos) sin romper nada.
5. Conclusi贸n
En resumen, la arquitectura hexagonal es como una cocina modular: puedes usar horno, microondas o sart茅n… pero la receta sigue siendo la misma. El negocio no se entera del cambio, solo sabe cocinar peras y manzanas. No se trata solo de dibujar un hex谩gono bonito, sino de proteger tu l贸gica de negocio del caos tecnol贸gico.
¿Qu茅 opinas?
¿Ya aplicaste este patr贸n en tus proyectos? D茅jame tu experiencia en los comentarios o s铆gueme en LinkedIn para m谩s art铆culos de desarrollo y arquitectura.
No hay comentarios:
Publicar un comentario