Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

SOLID — Iniciación

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • SOLID

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a desarrolladoras y desarrolladores de software que se incorporan por primera vez al estudio de los principios SOLID y desean construir una base conceptual y práctica sólida sobre diseño orientado a objetos. A lo largo de las ocho horas del programa, la persona participante conocerá el propósito de cada uno de los cinco principios, aprenderá a detectar sus violaciones en código real y practicará, con guía paso a paso, las refactorizaciones más representativas de cada principio. Al finalizar, será capaz de reconocer problemas de diseño habituales en fragmentos de código y de aplicar los primeros pasos de mejora estructural de forma razonada y justificada.

  1. Describir cada uno de los cinco principios SOLID enunciando su propósito y la consecuencia de no respetarlo.
  2. Describir la diferencia entre depender de abstracciones y depender de implementaciones concretas, apoyándose en ejemplos de código comparativos.
  3. Identificar qué principio o principios son vulnerados en un fragmento de código dado, justificando la detección con al menos una razón concreta.
  4. Identificar si una subclase respeta el Principio de Sustitución de Liskov comprobando que no elimina ni restringe el comportamiento prometido por la superclase.
  5. Aplicar de forma guiada el Principio de Responsabilidad Única refactorizando una clase con múltiples responsabilidades evidentes.
  6. Aplicar de forma guiada el Principio Abierto/Cerrado extendiendo comportamiento mediante herencia o composición sin modificar la clase base.
  7. Aplicar de forma guiada el Principio de Segregación de Interfaces dividiendo una interfaz de responsabilidad excesiva en interfaces más específicas.
  8. Aplicar de forma guiada el Principio de Inversión de Dependencias introduciendo una abstracción entre dos módulos acoplados.

Bloque 1 — Fundamentos conceptuales de SOLID. Se presenta el origen y el propósito del acrónimo SOLID como conjunto de heurísticas de diseño orientado a objetos. Se estudia cada uno de los cinco principios —Responsabilidad Única, Abierto/Cerrado, Sustitución de Liskov, Segregación de Interfaces e Inversión de Dependencias— enunciando su intención, el problema de diseño que resuelve y las consecuencias observables cuando se vulnera. Se introduce también la distinción fundamental entre depender de abstracciones y depender de implementaciones concretas, ilustrada mediante fragmentos de código comparativos que permiten visualizar el impacto del acoplamiento en la mantenibilidad del sistema.

Bloque 2 — Detección de violaciones en código existente. A partir de fragmentos de código con deficiencias de diseño deliberadamente introducidas, la persona participante practica la identificación de los principios vulnerados y la articulación de las razones concretas que justifican dicha detección. Se analiza especialmente la frontera entre herencia correcta e incorrecta mediante el examen de subclases que eliminan o restringen comportamiento prometido por la superclase, poniendo en práctica el criterio de sustitución de Liskov sobre ejemplos reales.

Bloque 3 — Refactorizaciones guiadas principio a principio. Este bloque aborda la aplicación práctica de cuatro principios SOLID mediante ejercicios de refactorización con instrucciones paso a paso. Se trabaja primero la separación de responsabilidades en clases que concentran múltiples propósitos; a continuación se extiende comportamiento sin tocar la clase base usando herencia o composición; después se divide una interfaz de responsabilidad excesiva en contratos más cohesionados; y finalmente se introduce una abstracción entre dos módulos directamente acoplados para invertir la dirección de la dependencia. Cada ejercicio incluye un enunciado estructurado y un guion de refactorización que orienta las decisiones de diseño sin privar a la persona participante de razonar cada paso.

  • Entorno de desarrollo local instalado y configurado para el lenguaje utilizado en los ejercicios del curso.
  • Editor de código o IDE con soporte para el lenguaje elegido (por ejemplo, IntelliJ IDEA, Visual Studio Code, PyCharm o equivalente).
  • Acceso a Internet para consultar documentación de referencia y repositorio de ejercicios del curso.
  • Sistema operativo: Windows 10 o superior, macOS 11 o superior, o distribución Linux moderna.
  • Programación orientada a objetos: clases, herencia, interfaces y polimorfismo a nivel básico.
  • Capacidad de leer y escribir código en al menos un lenguaje orientado a objetos (Java, C#, Python, Kotlin o equivalente).
  • Familiaridad con el concepto de dependencia entre módulos o clases.