GuíaIntermedio

Guía de Patrones de Diseño

Aprende a leer código ajeno y nombrar lo que ves —"esto es una Strategy", "aquí hay un God object"— y, sobre todo, a saber cuándo un patrón se gana su complejidad y cuándo NO abstraer, porque cada patrón agrega indirección y la indirección se paga. Esta guía no es un catálogo de los 23 patrones GoF para memorizar: cubre los que de verdad aparecen en código real y en revisiones, organizados por el problema que resuelven —comportamiento que varía (Strategy, Template Method, State), creación de objetos (Factory, Builder, por qué desconfiar del Singleton), estructura y adaptación (Adapter, Facade, Decorator, Composite) y comunicación entre partes (Observer, Command)—. También enseña la regla de tres, YAGNI y la abstracción prematura como el error más caro, y cómo usar los patrones como vocabulario de revisión: nombrar code smells (God object, feature envy, shotgun surgery) para que un problema sea accionable. Trabajas sobre Boletia, una plataforma de venta de boletos donde todo varía —canales de notificación, proveedores de pago, tipos de boleto— y que también tiene el otro extremo: una arquitectura de plugins metida para algo que solo va a tener una implementación. Cierra con un proyecto capstone donde quitas una abstracción que no se gana su lugar e introduces el patrón que de verdad emerge de un checkout de 300 líneas, en pasos pequeños y seguros.

64
lecciones
8
módulos
Inglés · Español
disponible en
certificado
Gratis
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Entender qué son de verdad los patrones: una solución con nombre a un problema que se repite, y el vocabulario compartido como su verdadero superpoder
  • Reconocer cuándo NO abstraer: la regla de tres, YAGNI, y la abstracción prematura como el error más caro que puedes cometer
  • Aplicar patrones para el comportamiento que varía: Strategy para intercambiar el "cómo", Template Method para un esqueleto compartido, y State cuando el comportamiento depende del estado
  • Aplicar patrones de creación de objetos: Factory para decidir qué construir en un solo lugar, Builder para armar algo complicado por partes, y por qué desconfiar del Singleton
  • Aplicar patrones de estructura y adaptación: Adapter para interfaces incompatibles, Facade para una puerta simple a algo complicado, Decorator y Composite
  • Aplicar patrones de comunicación entre partes: Observer para avisar sin saber a quién, acoplar por evento en vez de por llamada directa, y Command
  • Usar los patrones como vocabulario de revisión de código: nombrar code smells (God object, feature envy, shotgun surgery) y anti-patrones de forma accionable
  • Ejecutar un proyecto capstone: refactorizar dos rincones de Boletia —uno sobre-patronado y uno sub-estructurado— y defender cada decisión con su trade-off

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Developers que ya programan sobre código de más de un archivo y sienten la fricción de tocar algo y romper algo lejano
  • Devs que quieren pasar de "conozco 23 patrones de memoria" a saber leerlos, nombrarlos y juzgarlos en código real
  • Personas que necesitan nombrar problemas de estructura en tres palabras dentro de una revisión de código
  • Ideal (no obligatorio) para quien ya completó la Guía de Fundamentos del Desarrollo de Software

Requisitos y materiales

  • Saber programar y haber trabajado sobre un código de más de un archivo: funciones, clases y objetos
  • Recomendado (no obligatorio): Guía de Fundamentos del Desarrollo de Software completada (descomposición, acoplamiento, cohesión, trade-offs)
  • No necesitas conocer ningún patrón de diseño previo
  • Los ejemplos usan Python orientado a objetos

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!