DEV Community

Edgar Rios Navarro
Edgar Rios Navarro

Posted on

5 3

Refactorizar proyecto a Arquitectura Hexagonal

La Arquitectura Hexagonal es un modelo novedoso. Pero la mejor definición es Arquitectura de Puertos y Adaptores. La documentación al respecto es abundante en Internet, por lo que no profundizaremos.

Lo que mostraremos es cómo refactorizar un proyecto Micronaut para llevarlo a un diseño hexagonal.

Partamos como base esta estructura:
Captura de pantalla de 2021-03-16 07-47-20

No existe un estándar para la distribución de clases y paquetes. Para tener una clara visualización e identificar las partes del modelo; presentamos esta propuesta de esquema:

.
./application
./application/domain
./application/service
./architecture
./architecture/adapter
./architecture/adapter/input
./architecture/adapter/output
./architecture/port
./architecture/port/input
./architecture/port/output
Enter fullscreen mode Exit fullscreen mode

Entonces, debemos crear las interfaces y clases necesarias según la definición de puertos y adaptadores. El resultado lo podemos ver así:
Captura de pantalla de 2021-03-15 08-10-57


Documentación

Repositorio
Hexagonal Architecture with Java and Spring

Retry later

Top comments (0)

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Retry later