Arquitectura software hexagonal.

Hay varias formas de crear un proyecto software, igual que en un proyecto de edificación se realiza un proyecto con unos mapas y una idea, en la informática no debemos de iniciar un proyecto escribiendo en un único fichero tu código fuente. En los proyectos pequeños no tendras muchos problemas pero en un proyecto grande puede que tengas que invertir muchas más horas de lo necesario.

Que es la arquitectura hexagonal

Es una forma de programar que cambia la forma de diseñar y escribir código, ya que estamos acostumbrados a programar encima de un framework, usamos las capas que conocemos, que suelen ser Vista, Modelo, Controlador, y todo ello encima de un framework que aglutina todo el proyecto, como es Spring o Synfony..

arquitectura hexagonal

En la Arquitectura hexagonal esto cambia, ya que no esta encima de un framework sino este esta separado y se usa , pero no se extiende como se ve en la imagen. Es una metodologÍa diferetente ya que es un sistema que el controlador esta fuera y en el centro estÁn los servicios. De esta forma que el controlador es que esta dependiendo del FrameWork y no el centro que el dominio (lo que conocemos como servicios).

Esto que ayuda a evitar el acoplamiento, podemos probar la applicación sin necesidad de usar el controlador, nos permite el cambiar los sistemas que usa la aplicación igual que separamos la base de datos en MVC aquí separamos todo, la conexión a microservicios, envio de emails, logs..

Opinión

Es una arquitectura que tiene mucha más complijidad de la que estamos acostumbrados, pero que a la vez es sencilla de entender, ya que se basa en una idea de capas, niveles de capas.

Creo que una arquitectura que es muy valida y necesaria en proyectos grandes, en proyectos pequeños creo que puede ser más costoso el crear la arquitectura hexagonal que el seguir una infrastructura basica. Esta arquitectura puede ayudar a solventar los problemas de mantenimiento, pero si tenemos la seguridad de ser un proyecto corto como una migración de datos, el tiempo que usemos en la creación de esta infrastructura no compesara el coste ya que no tendrá mantenimiento.

En conclusión: Los proyecto en la actualidad cada vez son más grandes tanto por su complejidad como por los servicios y esta arquitectura ayuda de mejor manera que algunos sistemas actuales en su construcción.

{{ message }}

{{ 'Comments are closed.' | trans }}