Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Curso orientado a desarrolladores que ya dominan los fundamentos de Java y necesitan dar el salto hacia patrones de diseño, programación funcional y prácticas profesionales de calidad de código. A lo largo de 8 horas, los participantes modelarán jerarquías de clases reales, trabajarán con la Stream API y las principales estructuras del framework de colecciones, diseñarán estrategias robustas de manejo de excepciones, aplicarán patrones de diseño clásicos y escribirán pruebas unitarias con JUnit 5 y Mockito; el resultado concreto es un módulo de servicio Java probado, documentado y listo para integrarse en un proyecto de equipo.
Map más adecuada (HashMap, LinkedHashMap o TreeMap) ante requisitos concretos de ordenación y rendimiento, documentando la justificación técnica.Bloque 1 — Diseño orientado a objetos avanzado. Se estudia cómo modelar un dominio de negocio mediante jerarquías de clases e interfaces, explorando los principios que determinan cuándo favorecer la herencia frente a la composición. Se analizan casos reales donde la decisión equivocada genera deuda técnica y se documenta formalmente cada punto de decisión como práctica profesional.
Bloque 2 — Framework de colecciones y Stream API. Se revisan las estructuras de mapa más habituales —HashMap, LinkedHashMap y TreeMap— comparando su comportamiento en escenarios de ordenación y rendimiento. A continuación se introduce la programación funcional con expresiones lambda y la Stream API: construcción de pipelines de transformación y filtrado sin efectos secundarios, operaciones intermedias y terminales, y uso de colectores para agregación de resultados.
Bloque 3 — Manejo de excepciones y patrones de diseño. Se profundiza en el diseño de excepciones personalizadas checked y unchecked aplicadas a una capa de servicio, estableciendo criterios claros para elegir cada tipo. Seguidamente se trabajan los patrones Factory y Decorator: se parte de una implementación base y se aplica el patrón seleccionado para incorporar nuevos requisitos funcionales sin alterar el contrato existente.
Bloque 4 — Calidad de código: depuración, pruebas y acceso a datos. Se practica la depuración sistemática con el debugger del IDE sobre programas que contienen bugs lógicos intencionados en colecciones y en lógica condicional, registrando cada paso del diagnóstico. Posteriormente se escribe una suite de pruebas unitarias con JUnit 5 y Mockito, haciendo dobles de test para las dependencias externas y verificando tanto el camino feliz como los escenarios de error. El bloque cierra con una comparativa entre JDBC directo y JPA/Hibernate básico, eligiendo la tecnología adecuada según el caso de uso e implementando las operaciones CRUD correspondientes.
PATH.junit-jupiter 5.10+) y Mockito 5.x, declaradas en el pom.xml o build.gradle del proyecto entregado.try-catch-finally).ArrayList y HashMap a nivel de uso, sin necesidad de conocer su implementación interna.Estos conocimientos se adquieren en el curso JAV01 — Java: Iniciación (prerrequisito obligatorio).