Saltar al contenido principal
Formación DatIACode

Principios SOLID y patrones de diseño

Aplica los cinco principios SOLID con ejemplos reales y domina los patrones de diseño que de verdad se usan —factory, strategy, observer, decorator, adapter— sabiendo cuándo aportan y cuándo son sobreingeniería.

Nivel
Intermedio
Duración
20 horas
Modalidades
Online en directo · In-company · A medida
Dirigido a
Desarrolladores que quieren diseñar código flexible y mantenible con criterio.
Sobre el curso

¿Qué es este curso y por qué te interesa?

Entre el código que funciona y el código que aguanta el cambio hay una capa de diseño que muchos desarrolladores aprenden tarde y mal: a base de sufrir bases de código rígidas donde tocar una clase rompe otras tres. Los principios SOLID y los patrones de diseño son el vocabulario de esa capa, pero mal entendidos producen el problema contrario: jerarquías de abstracciones que nadie pidió y patrones aplicados porque sí.

Este curso enseña ambas cosas con el mismo peso: la técnica y el criterio. Los cinco principios SOLID se trabajan uno a uno sobre código real —qué problema resuelve cada uno, cómo se detecta su violación y cómo se corrige—, y de los más de veinte patrones del catálogo clásico se profundiza en los que aparecen de verdad en el software de empresa: factory, strategy, observer, decorator, adapter y algunos más, conectándolos con los mecanismos modernos que los han absorbido, como la inyección de dependencias o las funciones de orden superior.

La pregunta que atraviesa todo el curso es cuándo: cuándo una abstracción paga su coste y cuándo es sobreingeniería, cuándo aplicar un patrón y cuándo basta una función. Los ejemplos se trabajan en varios lenguajes (Java, TypeScript, Python y C#) porque los principios son los mismos aunque la implementación idiomática cambie.

Qué aprenderás

Capacidades que adquirirás

  • Aplicar los cinco principios SOLID sobre código real, detectando violaciones y corrigiéndolas.
  • Implementar los patrones creacionales, estructurales y de comportamiento más usados en la práctica.
  • Decidir con criterio cuándo un patrón aporta y cuándo es sobreingeniería.
  • Usar la inyección de dependencias y la inversión de control como base del diseño desacoplado.
  • Reconocer patrones en frameworks y librerías para entender mejor el código ajeno.
Objetivos

Objetivos del curso

  1. 01Comprender el problema de diseño que resuelve cada principio SOLID, no solo su definición.
  2. 02Detectar violaciones de SOLID en código existente y aplicar el refactor adecuado.
  3. 03Dominar factory, strategy, observer, decorator y adapter con implementaciones en varios lenguajes.
  4. 04Distinguir el patrón clásico de su forma idiomática moderna en cada lenguaje.
  5. 05Evaluar el coste de cada abstracción frente al beneficio que aporta.
  6. 06Diseñar un módulo completo aplicando principios y patrones como proyecto final.
A quién va dirigido

¿Es este curso para ti o para tu equipo?

Desarrolladores que quieren diseñar código flexible y mantenible con criterio.

Desarrolladores con experiencia práctica

Programadores que resuelven bien los problemas pero quieren estructurar mejor sus diseños y justificar sus decisiones.

Desarrolladores que mantienen código de otros

Perfiles que trabajan sobre bases de código existentes y necesitan reconocer los patrones y principios que las estructuran.

Tech leads y arquitectos en formación

Perfiles que revisan diseños de otros y necesitan vocabulario y criterio compartido para discutirlos.

Temario

Temario completo

Programa estructurado en módulos. Cada itinerario in-company se ajusta al nivel y a los objetivos concretos del equipo.

    • Acoplamiento y cohesión: los dos ejes de todo diseño.
    • Rigidez, fragilidad e inmovilidad: síntomas del mal diseño.
    • Abstracción con coste: toda indirección se paga en legibilidad.
    • El mapa del curso: de los principios a los patrones, con criterio.
Metodología

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

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.

Beneficios para empresas

¿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.
Formación bonificada

¿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.

Requisitos previos

¿Qué necesitas saber antes de empezar?

  • Experiencia escribiendo código orientado a objetos en algún lenguaje (Java, C#, Python, TypeScript o similar).
  • Comprensión de herencia, interfaces y polimorfismo.
  • Recomendable haber trabajado en proyectos con más de un desarrollador.
Aplicaciones

Cómo se aplica lo aprendido

  • Diseño de módulos y servicios que absorben cambios de requisitos sin reescrituras.
  • Refactorización de condicionales gigantes y jerarquías rígidas hacia diseños flexibles.
  • Integración de sistemas y librerías externas sin contaminar el dominio.
  • Lectura y comprensión más rápida de frameworks y código ajeno.
  • Discusiones de diseño en equipo con vocabulario común y criterios objetivos.
  • Base de diseño para arquitecturas hexagonales y clean architecture.
DatIACode

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.

Preguntas frecuentes

FAQ

  • No, y es deliberado. El curso profundiza en los ocho o diez patrones que aparecen constantemente en el software de empresa y menciona el resto con su caso de uso. Es preferible dominar strategy o factory hasta el punto de saber cuándo no usarlos que memorizar un catálogo completo sin criterio.

Solicitar información

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.
Modalidad de interés*
Número aproximado de alumnos*

Información básica de protección de datos. Responsable: Datiacode Tech S.L.. Finalidad: atender tu solicitud y, si lo aceptas, enviarte comunicaciones comerciales. Legitimación: consentimiento del interesado y/o medidas precontractuales. Destinatarios: encargados de tratamiento descritos en la política. Derechos: acceso, rectificación, supresión, oposición, limitación y portabilidad escribiendo a privacidad@datiacode.com. Más información en la Política de Privacidad.

  • Ver curso
    Programación16 horas

    Clean Code para desarrolladores

  • Ver curso
    Programación20 horas

    Arquitectura hexagonal y Clean Architecture con Java

  • Ver curso
    Programación16 horas

    Refactorización de código legacy

Ver todos los cursos