Desarrollo con arquitectura hexagonal y Java
Competencias digitales avanzadas
Cursos y talleres
- Límite de inscripción: 30/11/2025 12:00
- Fechas: 01/12/2025 16:00 - 04/12/2025 21:00
- Duración: 20 horas
- Modalidad: Online
Datos de interés
- Precio: Gratuito
- Sesiones:
- Lunes 1 a Jueves 4 de diciembre, 16:00 - 21:00
Cómo aplicar este estilo de diseño en aplicaciones Java, resaltando sus ventajas para mejorar la mantenibilidad, flexibilidad y escalabilidad del software.
Objetivos,.
- Comprender los principios de mantenimiento y flexibilidad en el desarrollo de software.
- Identificar las limitaciones de las arquitecturas tradicionales en capas y explorar alternativas actuales.
- Diseñar y aplicar arquitecturas hexagonales y limpias que separen responsabilidades y potencien la escalabilidad.
- Implementar adaptadores web y de persistencia asegurando una correcta organización de código y casos de uso.
- Aprender técnicas de testing y buenas prácticas para mantener la coherencia arquitectónica.
Dirigido a.-
- Arquitectos/as de software que deseen aplicar patrones avanzados para proyectos escalables.
- Equipos técnicos que busquen mejorar mantenibilidad, pruebas y calidad de sus aplicaciones.
- Profesionales IT que trabajen en entornos de desarrollo ágil y quieran integrar principios de Clean Architecture.
Docente.-
Profesional con más de 30 años de experiencia en el desarrollo de software, especializado en JavaScript y TypeScript, con amplia trayectoria en arquitectura de software, código limpio, testing (Jest, Cypress) y consultoría tecnológica. Ha trabajado en multinacionales como Inditex y TOUS, además de liderar proyectos y formación en empresas de desarrollo y consultoría. Actualmente se dedica a la formación y asesoramiento en productividad y calidad de código con IA, promoviendo metodologías de AI Driven Development para potenciar el desarrollo profesional con herramientas de inteligencia artificial.
Metodología.-
- Sesiones teóricas apoyadas en casos prácticos y ejemplos de código en Java.
- Ejercicios de análisis de arquitecturas en capas vs. hexagonal.
Estructura y contenidos.-
- Maintainability. Explora el concepto de mantenibilidad del software y cómo contribuye a la funcionalidad, el bienestar de los desarrolladores y la toma de decisiones.
- What’s Wrong with Layers?. Analiza los problemas de las arquitecturas en capas, como el diseño impulsado por la base de datos, los atajos que complican las pruebas, y cómo ocultan los casos de uso.
- Inverting Dependencies. Introduce los principios de responsabilidad única e inversión de dependencias, y explica cómo arquitecturas como Clean y Hexagonal ayudan a mantener el software flexible.
- Organizing Code. Discute diferentes maneras de organizar el código, ya sea por capas o por características, y cómo hacer que la arquitectura sea expresiva y coherente.
- Implementing a Use Case. Presenta la implementación de casos de uso dentro de la arquitectura limpia, asegurando que la lógica de negocio sea central y mantenible.
- Implementing a Web Adapter. Explica cómo implementar adaptadores web que conectan la interfaz de usuario con la lógica de negocio, asegurando una separación clara de responsabilidades.
- Implementing a Persistence Adapter. Detalla cómo implementar adaptadores de persistencia que manejan la interacción con bases de datos sin mezclar lógica de negocio.
- Testing Architecture Elements. Muestra cómo probar de manera efectiva los diferentes elementos arquitectónicos, manteniendo la estructura y claridad del código.
- Mapping Between Boundaries. Describe cómo mapear los datos entre los diferentes límites dentro de la arquitectura, como el paso de datos entre la capa de dominio y la de persistencia.
- Assembling the Application. Explica cómo ensamblar los diferentes componentes de la aplicación manteniendo la coherencia y alineación con los principios de la arquitectura limpia.
- Taking Shortcuts Consciously. Discute cómo tomar atajos de manera consciente en situaciones en las que las restricciones de tiempo lo exigen, sin comprometer la arquitectura a largo plazo.
- Enforcing Architecture Boundaries. Presenta técnicas para garantizar que se respeten los límites arquitectónicos, evitando dependencias incorrectas entre capas o módulos.
- Managing Multiple Bounded Contexts. Explica cómo gestionar múltiples contextos delimitados, un concepto clave en el diseño de sistemas complejos y de gran escala.
- A Component-Based Approach to Software Architecture. Aborda un enfoque basado en componentes para la arquitectura de software, dividiendo el sistema en partes independientes y reutilizables.
- Deciding on an Architecture Style. Cierra con una discusión sobre cómo decidir el estilo arquitectónico adecuado para cada proyecto, evaluando opciones como arquitecturas monolíticas o basadas en microservicios.