DEV Community

Edgar Rios Navarro
Edgar Rios Navarro

Posted on

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

Oldest comments (0)