Requisitos previos
Este no es un curso introductorio a Java ni a Spring Boot. Está pensado para desarrolladores que ya cuentan con experiencia previa en desarrollo backend y desean profundizar en arquitectura de software y diseño de proyectos.
Para aprovechar el curso, es importante que tengas:
-
Conocimientos básicos de Java
-
Bases sólidas de Programación Orientada a Objetos
-
Uso básico de programación funcional (lambdas, streams, Optional)
-
Experiencia previa construyendo APIs REST
-
Familiaridad con controladores, servicios, DTOs y persistencia
-
No es obligatorio que sea con Spring Boot; puede ser con Node.js, NestJS u otro framework backend
-
-
Conocimientos generales de bases de datos
-
No es necesario ser experto, pero sí entender qué significa persistir información
-
¿Aún no dominas Java?
Te recomendamos seguir nuestra Ruta de Aprendizaje de Java antes de avanzar a este curso.
Descripción del curso
En este curso aprenderás a diseñar y construir aplicaciones backend con Spring Boot, entendiendo la arquitectura de software como el eje central y no solo como un detalle de implementación.
El objetivo principal es que seas capaz de evolucionar un proyecto desde un enfoque MVC tradicional hacia una arquitectura hexagonal, comprendiendo en profundidad las decisiones técnicas y conceptuales que hay detrás de cada paso.
Este curso está orientado a desarrolladores que desean entender el porqué de las decisiones arquitectónicas, y no solo aprender a “hacer que funcione”.
La evolución práctica del proyecto:
A lo largo del curso trabajaremos con un proyecto completo y progresivo que pasará por tres etapas cruciales de refactorización:
- Fase 1: Backend MVC Clásico: Comenzaremos analizando sus responsabilidades, acoplamientos y limitaciones. Aprenderás a diferenciar la lógica de negocio de la infraestructura, a utilizar correctamente DTOs, a manejar validaciones y a entender cómo fluye una petición desde la API hasta la persistencia.
- Fase 2: Migración e Impacto de Datos (SQL a MongoDB): Abordaremos el acoplamiento a la base de datos migrando de SQL a NoSQL. Analizaremos los cambios de modelo y las implicaciones arquitectónicas, sirviendo como el escenario perfecto para justificar la necesidad de una estructura más robusta.
- Fase 3: Arquitectura Hexagonal Pura: Construiremos un dominio completamente aislado, definiendo puertos y adaptadores, gestionando excepciones y demostrando cómo el corazón de tu aplicación se mantiene estable e imperturbable frente a cualquier cambio tecnológico.
¿Qué aprenderás y qué valor técnico obtendrás?
- Aislamiento de Dominio: Diseñar lógica de negocio independiente de frameworks y bases de datos.
- Calidad de Código: Mejorar radicalmente la testeabilidad, mantenibilidad y resiliencia de tus sistemas.
- Transición a Microservicios: Una introducción sólida al paso de un monolito modular hacia un sistema distribuido, analizando la comunicación entre servicios y el manejo de fallos.
- Criterio Técnico Senior: Capacidad para evaluar y justificar cuándo y por qué implementar patrones arquitectónicos avanzados en producción.
🛠️ ¡Deja atrás el código acoplado y domina las arquitecturas que utilizan los equipos de ingeniería de alto rendimiento!