Café y Código

1. ¿Qué son los patrones de diseño?

Los patrones de diseño son soluciones reutilizables a problemas que aparecen una y otra vez al modelar software orientado a objetos. No son librerías ni código copiable tal cual: son plantillas que adaptás a tu dominio, lenguaje y restricciones.

El catálogo más citado proviene del libro Design Patterns (Gamma, Helm, Johnson, Vlissides, 1994), conocido como la “banda de los cuatro” o GoF. Desde entonces la comunidad ha ampliado el vocabulario, pero los 22 patrones clásicos siguen siendo el mapa de referencia.

Una guía visual y didáctica en español —con diagramas y matices de cada patrón— está en Refactoring.Guru — Patrones de diseño. En este curso, cada patrón enlaza a su ficha correspondiente para que profundices cuando quieras.

Tres familias

  • Creacionales: flexibilizan cómo se crean objetos sin acoplar el cliente a clases concretas. → módulo 2
  • Estructurales: componen clases y objetos en estructuras mayores sin perder claridad. → módulo 3
  • Comportamiento: distribuyen responsabilidades y algoritmos entre objetos. → módulo 4

Ejemplo multilenguaje: Strategy

El patrón Strategy encapsula una familia de algoritmos intercambiables. Cambiás la estrategia en tiempo de ejecución sin llenar el cliente de if. Usá las pestañas para comparar Java, Python y TypeScript.

Strategy — esbozo en tres lenguajes
JAVA
1 interface Envio { int costo(int kg); }
2 class Carrito {
3 Envio estrategia;
4 int total(int kg) { return estrategia.costo(kg); }
5 }

Ficha detallada: Strategy en Refactoring.Guru

Índice rápido (enlaces a Guru)

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.