logo cosasdedevs
Introducción a la Arquitectura Hexagonal

Introducción a la Arquitectura Hexagonal



My Profile
Nov 15, 2022

La arquitectura hexagonal (también denominada patrón de puertos y adaptadores) es un tipo arquitectura limpia o clean arquitecture en la que separamos en distintas capas nuestra aplicación para evitar el acoplamiento y que de esta forma sean más escalables, testables y evitar en lo máximo posible la complejidad accidental.

¡Hola! 👋, sigo trabajando en mi aprendizaje de arquitecturas para el desarrollo de software y esta vez he estado he dado con la Arquitectura Hexagonal, así que he decidido hacer una pequeña introducción. Espero que os ayude a iniciaros en esta arquitectura 💪.

Beneficios de usar Arquitectura Hexagonal

  • Alto nivel de escalabilidad
  • Nos ayuda a evitar en lo posible la complejidad accidental
  • Al desacoplar las distintas partes, el código es más fácil de testear
  • Código más mantenible y reutilizable

Cuando NO utilizarla

Evitarla en pequeños proyectos que no vayan a cambiar o en el futuro tengan cambios pequeños, ya que el tiempo de desarrollo (en las primeras fases) se puede alargar y no vale la pena para este tipo de proyectos.

Capas de la arquitectura hexagonal

La arquitectura hexagonal se divide en tres capas en la que cada capa solo puede comunicarse con la inmediata capa siguiente. Estas son infraestructura, aplicación y dominio.

Capas de la arquitectura hexagonal

Infraestructura

En la infraestructura encontraremos los elementos que hacen de punto de entrada o salida de nuestra aplicación. Como elementos de entrada pueden ser controladores de una API Rest, también controladores de un CLI. Como elementos externos pueden ser conexiones a bases de datos, envíos de emails, colas de mensajerías (Kafka, RabbitMQ, etc.).

Aplicación

En la capa de aplicación ubicaremos los casos de uso de nuestra aplicación, en un blog, por ejemplo, podría ser, registrar usuario, publicar un post, editar una categoría, etc.

Dominio

En la capa de dominio hallaremos toda la lógica de la aplicación. Aquí controlaremos las reglas de negocio que solo serán modificadas por criterios propios. Una regla podría ser que un usuario registrado tendría que confirmar su email para poder escribir comentarios.

Conclusiones

La Arquitectura Hexagonal nos puede ayudar con nuestros proyectos, pero en pequeñas aplicaciones habría que replantearnos si realmente es necesaria por la complejidad inicial que añade al principio. Como siempre, ahí debes decidir tú y tu equipo cuál es la mejor opción.

Para mi próximo tutorial, voy a crear un proyecto utilizando Arquitectura Hexagonal, DDD y CQRS, así que estad atentos al blog o a mi Twitter si estáis interesados 😉.

Fuentes

Curso de Arquitectura Hexagonal de Codely.tv
Post de arquitecturas limpias de Uncle Bob
Post de Fideloper Hexagonal Arquitecture
Post de Edu Salguero de Arquitecura Hexagonal

Espero que este post te ayude y como siempre, te recomiendo seguirme en Twitter para estar al tanto de los nuevo contenido. Ahora también puedes seguirme en Instagram donde estoy subiendo tips, tutoriales en vídeo e información sobre herramientas para developers.

Por último os dejo mi guía para aprender a trabajar con APIs donde explico todo el funcionamiento de una API, el protocolo HTTP y veremos como construir una API con arquitectura REST.

Nos leemos 👋.

3253 vistas

🐍 Sígueme en Twitter

Si te gusta el contenido que subo y no quieres perderte nada, sígueme en Twitter y te avisaré cada vez que cree contenido nuevo 💪
Luego ¡Te sigo!

Nos tomamos en serio tu privacidad

Utilizamos cookies propias y de terceros para recopilar y analizar datos sobre la interacción de los usuarios con cosasdedevs.com. Ver política de cookies.