← dev-notes
GOF · INTRO

Patrones de Diseño
Visión general

Qué son, cuándo usarlos y cómo se clasifican en creacionales, estructurales y de comportamiento

Lenguaje compartido Trade-offs Diseño evolutivo
01Qué es un patrón
Definición práctica
Un patrón describe una solución reusable para un problema recurrente en un contexto específico. No es una plantilla rígida, sino una guía con consecuencias conocidas.
Cuándo NO usarlo
Cuando agrega más complejidad que valor. Si un problema aún no existe en tu sistema, aplicar patrón por anticipación puede empeorar el diseño.
02Clasificaciones GoF
Controlan la forma de crear objetos para desacoplar al cliente de clases concretas y reglas de construcción.
Componen clases y objetos en estructuras más grandes, manteniendo flexibilidad y bajo acoplamiento.
Patrones clave: Adapter, Facade, Composite, Decorator, Proxy.
Definen cómo colaboran objetos y cómo se distribuyen responsabilidades en tiempo de ejecución.
03Cómo estudiar patrones sin memorizarlos
1
PASO
Detecta el dolor
Parte desde el olor de diseño real (ifs crecientes, acoplamiento a proveedor, notificaciones rígidas).
2
PASO
Compara alternativas
Elige patrón por trade-off: extensibilidad, legibilidad, testabilidad y costo de mantenimiento.
3
PASO
Aplica mínimo viable
Empieza simple y evoluciona. Un patrón bien aplicado reduce fricción, no crea ceremonia innecesaria.
4
PASO
Valida con tests
Si el diseño nuevo no mejora cobertura y cambio seguro, probablemente el patrón no era el adecuado.