Arquitectura hexagonal y Clean Architecture con Java
Diseña aplicaciones Java que sobreviven al cambio: arquitectura hexagonal y Clean Architecture con puertos y adaptadores, dominio aislado del framework, casos de uso explícitos y migración gradual desde el código en capas.
- Nivel
- Avanzado
- Duración
- 20 horas
- Modalidades
- Online en directo · In-company · A medida
- Dirigido a
- Desarrolladores senior y arquitectos que diseñan aplicaciones Java de larga vida.

¿Qué es este curso y por qué te interesa?
La mayoría de las aplicaciones Java empiezan limpias y acaban igual: la lógica de negocio repartida entre controladores y servicios de mil líneas, entidades JPA viajando hasta el frontend y reglas críticas imposibles de probar sin levantar media infraestructura. No es un problema de disciplina, es un problema de arquitectura: cuando el dominio depende del framework, cada cambio técnico arrastra al negocio.
La arquitectura hexagonal y la Clean Architecture atacan ese problema con la misma idea de fondo: el dominio en el centro, las dependencias apuntando hacia dentro y la infraestructura como detalle intercambiable detrás de puertos y adaptadores. Este curso enseña ambas sin dogmatismo: qué comparten, en qué difieren y, sobre todo, cómo aterrizarlas en un proyecto Java con Spring Boot sin convertir la aplicación en un laberinto de capas y mappers innecesarios.
El trabajo es eminentemente práctico: se construye una aplicación completa con dominio aislado, casos de uso explícitos y adaptadores de persistencia y web, se protege la arquitectura con tests de ArchUnit y se mide el beneficio donde más se nota, en el testing del dominio sin framework. El curso cierra con el escenario realista: cómo migrar gradualmente una aplicación en capas hacia hexagonal sin parar el desarrollo, y cuándo esta arquitectura no compensa.
Es la formación natural para desarrolladores senior que ya dominan Spring Boot y quieren que sus aplicaciones aguanten años de evolución, y conecta directamente con el curso de testing y con el de microservicios, donde estos límites bien trazados se convierten en fronteras de servicios.
Capacidades que adquirirás
- Diseñar aplicaciones con el dominio aislado del framework y de la infraestructura.
- Aplicar puertos y adaptadores: contratos de entrada y salida bien definidos.
- Modelar casos de uso explícitos y un dominio rico con DDD táctico básico.
- Estructurar el proyecto Java (paquetes o módulos) y proteger la arquitectura con ArchUnit.
- Migrar gradualmente una aplicación en capas hacia hexagonal sin reescribirla.
Objetivos del curso
- 01Comprender el problema del acoplamiento al framework y sus costes a largo plazo.
- 02Dominar la arquitectura hexagonal: puertos, adaptadores y regla de dependencia.
- 03Situar Clean Architecture frente a hexagonal y extraer lo útil de cada una.
- 04Implementar el patrón completo en Java con Spring Boot como detalle de infraestructura.
- 05Testear cada anillo con la estrategia adecuada: dominio puro, adaptadores con Testcontainers.
- 06Evaluar cuándo esta arquitectura compensa y cuándo es sobreingeniería.
¿Es este curso para ti o para tu equipo?
Desarrolladores senior y arquitectos que diseñan aplicaciones Java de larga vida.
Desarrolladores Java senior
Programadores con experiencia en Spring Boot que quieren dar el salto al diseño de aplicaciones de larga vida.
Arquitectos y tech leads
Perfiles que definen la arquitectura de referencia de sus equipos y necesitan criterios aplicables, no teoría.
Equipos con aplicaciones difíciles de evolucionar
Equipos atrapados en código acoplado donde cada cambio es caro y quieren una vía de migración realista.
Temario completo
Programa estructurado en módulos. Cada itinerario in-company se ajusta al nivel y a los objetivos concretos del equipo.
- Síntomas: servicios anémicos gigantes, entidades JPA por todas partes, tests imposibles.
- Por qué la arquitectura en capas clásica degenera con el tiempo.
- Acoplamiento al framework: qué cuesta de verdad cambiar o actualizar.
- Dependencias y dirección: el principio que lo organiza todo.
Cómo se imparte
Práctica desde la primera sesión
Cada bloque combina explicación, demostración y laboratorio. Los alumnos trabajan sobre casos reales aplicables a su contexto profesional.
Casos de cliente
En programas in-company partimos de los procesos y datos del cliente. La formación deja de sonar genérica y empieza a resolver problemas concretos.
Materiales de apoyo
Los participantes reciben código, plantillas y guías reutilizables tras la formación. Lo que se aprende se mantiene en el día a día.
Adaptación al nivel del equipo
Antes de impartir, hacemos un breve diagnóstico y ajustamos profundidad y ritmo. La formación no se queda corta ni avanza por encima del grupo.
Modalidades disponibles
Cada formato puede adaptarse al ritmo y al contexto operativo de la organización.
Online en directo
Sesiones en streaming con interacción en vivo, ejercicios guiados y resolución de dudas.
In-company
Programa diseñado a medida y impartido para un único equipo o organización.
A medida
Itinerario completamente personalizado: temario, duración, formato y casos del cliente.
¿Por qué contratar este programa para tu equipo?
La formación no se diseña contra un examen, se diseña contra un objetivo de negocio.
- Mejora de productividad real en el puesto de trabajo.
- Actualización de competencias clave para el negocio.
- Mayor autonomía técnica y reducción de dependencia externa.
- Aplicación práctica inmediata sobre procesos del cliente.
- Mejor adopción tecnológica con criterios profesionales.
- Preparación para proyectos de IA, datos, automatización o desarrollo.
¿Se puede gestionar como formación bonificada?
Este curso puede plantearse como formación para empresas y, según las condiciones de cada organización, podría gestionarse dentro de iniciativas de formación bonificada. En DatIACode te ayudamos a estructurar la propuesta formativa y la documentación necesaria para su valoración.
¿Qué necesitas saber antes de empezar?
- Experiencia sólida con Java y Spring Boot en proyectos reales.
- Conocimientos de testing con JUnit y Mockito.
- Familiaridad con JPA recomendada para el adaptador de persistencia.
Cómo se aplica lo aprendido
- Diseño de aplicaciones empresariales con lógica de negocio compleja y de larga vida.
- Migración gradual de aplicaciones en capas hacia arquitecturas mantenibles.
- Definición de la arquitectura de referencia para equipos de desarrollo Java.
- Preparación de monolitos modulares listos para extraer microservicios.
- Mejora radical de la testabilidad del dominio en aplicaciones existentes.
Por qué elegir DatIACode
No vendemos formación: diseñamos programas que se traducen en capacidad operativa real.
Experiencia aplicada
Más de 20 años combinando consultoría, desarrollo y formación tecnológica para empresas de distintos sectores.
Visión de negocio
Cada programa parte de los objetivos del cliente. La técnica está al servicio del problema, no al revés.
Adaptación al equipo
Ajustamos profundidad, ritmo y casos de uso al nivel real del equipo tras un breve diagnóstico inicial.
Formación + consultoría
Si la formación destapa un proyecto, podemos acompañarte en su implantación. No abandonamos el resultado.
Especialización en IA
Trabajamos en IA aplicada todos los días. La formación no la imparte alguien que solo enseña, la imparte alguien que también construye.
Orientación a resultados
Entregables tangibles y métricas pactadas. Sin promesas vacías.
FAQ
Comparten la idea central (dominio independiente y dependencias hacia dentro) pero difieren en vocabulario y en el detalle de las capas. El curso las presenta juntas precisamente para eso: entender el principio común, conocer ambos vocabularios y montar una estructura pragmática sin pelearse por las etiquetas.
Cuéntanos qué necesitas
Te respondemos en menos de 24h laborables con disponibilidad, opciones de modalidad y propuesta a medida si aplica.
- Diagnóstico inicial sin compromiso.
- Propuesta adaptada al nivel y al sector.
- Asesoramiento sobre formación bonificada.
Cursos relacionados
Ver todos los cursos- Ver curso
Programación24 horasTesting en Java con JUnit, Mockito y TDD
- Ver curso
Programación30 horasDesarrollo backend con Java y Spring Boot
- Ver curso
Programación30 horasMicroservicios con Spring Boot y Spring Cloud
