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 dirigido a desarrolladores con dominio consolidado de los cinco principios SOLID que necesitan aplicarlos de forma crítica e integrada en contextos reales de complejidad media-alta. A lo largo de las 8 horas, el participante trabajará sobre bases de código existentes y diseños nuevos para evaluar el cumplimiento de los principios con impacto medible, refactorizar violaciones simultáneas documentando trade-offs, anticipar puntos de ruptura ante cambios previsibles y automatizar la vigilancia del diseño en un pipeline CI/CD. Al finalizar, el participante será capaz de emitir juicios técnicos razonados sobre diseños propios y ajenos, proponer estrategias que minimicen la deuda técnica acumulada y dejar evidencia trazable de cada decisión arquitectónica.
Bloque 1 — Diagnóstico crítico de bases de código El punto de partida es aprender a leer código con criterio analítico. Se estudia cómo inspeccionar una base de código de tamaño medio para determinar qué principios SOLID se respetan, cuáles se vulneran y con qué consecuencia medible sobre la mantenibilidad. Se introducen métricas de acoplamiento aferente y eferente como lenguaje común para cuantificar el estado del diseño antes de cualquier intervención. Al final del bloque el participante dispone de un protocolo de auditoría propio que aplicará a lo largo del curso.
Bloque 2 — Tensiones entre principios en sistemas en evolución Los principios no operan de forma aislada: en sistemas vivos aparecen fricciones, especialmente entre la responsabilidad única y la apertura a la extensión. Este bloque examina esas tensiones de manera sistemática, modela escenarios de cambio previsible y propone estrategias de diseño que permitan avanzar sin acumular deuda técnica. Se introduce también el análisis de puntos de ruptura: dado un conjunto de requisitos futuros plausibles, ¿qué principio cede primero y por qué?
Bloque 3 — Refactorización con trade-offs documentados La refactorización avanzada requiere algo más que identificar el problema: exige priorizar, decidir y justificar. Se trabaja sobre un caso real con violaciones simultáneas de al menos tres principios, donde el participante debe proponer un plan de refactorización, estimar el coste de cada decisión y argumentar el orden de actuación. La documentación de trade-offs es parte obligatoria del entregable, reproduciendo la conversación técnica que ocurriría en una revisión de código en equipo.
Bloque 4 — Optimización de jerarquías de abstracción con ISP y DIP Con los principios de segregación de interfaces e inversión de dependencias como protagonistas, este bloque aborda la reorganización de jerarquías de abstracciones en sistemas existentes. Se parte de métricas de acoplamiento tomadas al inicio, se aplica la refactorización y se comparan los indicadores al final para validar que la intervención ha reducido efectivamente el acoplamiento. El bloque enfatiza la diferencia entre aplicar un principio en el papel y verificar su efecto en números reales.
Bloque 5 — Diseño desde cero con integración de los cinco principios Una vez ejercitado el diagnóstico y la corrección, se practica la construcción. El participante arquitectura un módulo nuevo aplicando los cinco principios de forma simultánea y coherente. El foco no está solo en el resultado sino en la trazabilidad del proceso: qué tensiones surgieron, qué decisiones se tomaron y cómo se resolvieron los conflictos. El artefacto final incluye tanto el código como la narrativa de diseño que lo acompaña.
Bloque 6 — Automatización y revisión entre pares El curso cierra con dos capacidades orientadas a sostenibilidad del diseño en equipo. Por un lado, se configura un conjunto de reglas de análisis estático integradas en un pipeline CI/CD para detectar violaciones de forma continua, discutiendo qué se puede automatizar y qué sigue requiriendo criterio humano. Por otro, se practica la revisión técnica de propuestas de diseño ajenas: cómo estructurar un juicio razonado con criterios SOLID explícitos y cómo formular alternativas concretas que sean accionables para quien recibe la revisión.
El participante debe haber completado el curso SOL02 o demostrar un dominio equivalente de los cinco principios SOLID a nivel intermedio: comprensión conceptual sólida de cada principio, capacidad para aplicarlos individualmente en ejercicios guiados y experiencia básica con refactorización orientada a diseño. Se asume también familiaridad con conceptos de orientación a objetos (herencia, polimorfismo, composición) y con al menos un lenguaje de programación orientado a objetos utilizado en el día a día. Es recomendable haber trabajado en un proyecto real con más de cinco clases para poder anclar los aprendizajes del curso en experiencia propia.