Probablemente has leído mucho sobre patrones de diseño, a veces con explicaciones largas, diagramas UML pesados y ejemplos tan abstractos que cuesta verlos en la práctica. Para entrevistas técnicas no necesitas un libro, necesitas una guía rápida, clara y fácil de recordar que te diga qué es el patrón, por qué existe, una analogía del mundo real para fijarlo en tu memoria y un mini pseudocódigo para recordarlo al instante.
Eso es exactamente este Design Pattern Cheat Sheet. Úsalo como parada única para repasar todos los patrones en minutos, con ganchos y analogías que se te vendrán a la cabeza cuando apriete la presión.
En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y mucho más, aplicamos estos patrones a diario para construir software a medida escalable, seguro y fácil de mantener. Si buscas desarrollar una solución end to end, descubre nuestro enfoque de software y aplicaciones a medida y cómo potenciamos ia para empresas con agentes IA de alto impacto desde nuestra práctica de inteligencia artificial.
Patrones creacionales son como recetas para crear objetos. Separan el cómo se crean del código que los usa, dando flexibilidad y facilidad de cambio.
1. Factory Method Qué: delega la creación a subclases. Por qué: evitar ifs por tipo y acoplamiento duro. Gancho: el gerente de contratación que decide a quién incorporar. Pseudocódigo: interfaz Emisor con enviar; creadores concretos devuelven EmailEmisor o SmsEmisor; cliente pide al creador y llama enviar.
2. Abstract Factory Qué: fabrica familias de objetos relacionados. Por qué: coherencia entre productos y cambio de tema sin tocar clientes. Gancho: el estilista que arma outfits completos. Pseudocódigo: UIFabrica crea Boton e Input oscuros o claros; cliente usa una fábrica y obtiene piezas compatibles.
3. Prototype Qué: clonar objetos existentes. Por qué: crear rápido con configuración ya hecha. Gancho: plantilla duplicable. Pseudocódigo: Documento con clonar; Factura implementa clonar para copia superficial; cliente clona y ajusta campos.
4. Singleton Qué: una única instancia global controlada. Por qué: configuración compartida o registro. Gancho: el capitán único. Pseudocódigo: clase Config con instancia estática y getInstancia que crea una vez y devuelve siempre la misma.
5. Builder Qué: construir objetos complejos paso a paso con API fluida. Por qué: evita constructores telescópicos. Gancho: el chef del objeto. Pseudocódigo: NotificacionBuilder con setters encadenables y build que devuelve la notificación armada.
Patrones estructurales tratan sobre componer objetos como piezas LEGO para formar sistemas mayores, favoreciendo la composición sobre la herencia.
6. Adapter Qué: hace compatible una interfaz antigua con una nueva. Por qué: integrar sistemas sin reescribir. Gancho: adaptador universal. Pseudocódigo: Adaptador implementa NuevaPago y delega en LegadoPago.
7. Decorator Qué: añade responsabilidades envolviendo objetos. Por qué: extensiones dinámicas sin herencia explosiva. Gancho: personalizador de café. Pseudocódigo: Café base con costo; LecheDecorador suma costo al café envuelto.
8. Composite Qué: estructura árbol para tratar objetos individuales y compuestos de forma uniforme. Por qué: jerarquías limpias. Gancho: árbol de archivos. Pseudocódigo: Componente con mostrar; Archivo es hoja; Carpeta contiene hijos y delega mostrar en cada uno.
9. Facade Qué: interfaz simple a un subsistema complejo. Por qué: reduce complejidad en clientes. Gancho: ventanilla única. Pseudocódigo: HomeTheaterFacade orquesta luces y tv con un método iniciarNoche.
10. Proxy Qué: sustituto que controla acceso al real. Por qué: cache, lazy, seguridad. Gancho: guardaespaldas. Pseudocódigo: Proxy verifica y luego delega en ServicioReal.
11. Flyweight Qué: compartir estado inmutable para ahorrar memoria. Por qué: muchos objetos similares. Gancho: cache de caracteres. Pseudocódigo: FabricaChar mantiene mapa de símbolos y reutiliza instancias.
12. Bridge Qué: separa abstracción de implementación. Por qué: combinar variantes sin explosión de clases. Gancho: conector de música. Pseudocódigo: Control remoto delega en Dispositivo y puede cambiarlo sin tocar la abstracción.
Patrones de comportamiento definen cómo colaboran los objetos y distribuyen responsabilidades sin acoplar en exceso.
13. Strategy Qué: intercambiar algoritmos en tiempo de ejecución. Por qué: evita condicionales por estrategia. Gancho: cerebro de cupones. Pseudocódigo: interfaz Cupón con aplicar; concreto Flat50 o DiezPorciento; cliente selecciona y aplica.
14. Observer Qué: suscripción y notificación de eventos. Por qué: reactivo sin dependencias fuertes. Gancho: suscriptor de video. Pseudocódigo: Canal mantiene lista de usuarios y al publicar llama notificar en cada uno.
15. Command Qué: encapsula una petición como objeto. Por qué: colas, deshacer, macro. Gancho: control remoto. Pseudocódigo: Comando con ejecutar; Control asigna comando y al pulsar ejecuta.
16. Chain of Responsibility Qué: pasa la petición a través de una cadena hasta que alguien la maneja. Por qué: flexibilidad de enrutado. Gancho: escalado de soporte. Pseudocódigo: Manejador con siguiente; Gerente procesa si monto apto si no pasa al siguiente.
17. State Qué: cambia comportamiento según estado interno. Por qué: evita condicionales por estado. Gancho: gestor de humor. Pseudocódigo: Reproductor mantiene estado actual y play delega en el estado.
18. Mediator Qué: centraliza la comunicación entre colegas. Por qué: reduce referencias cruzadas. Gancho: control de tráfico aéreo. Pseudocódigo: SalaChat recibe y distribuye mensajes de Usuarios.
19. Memento Qué: capturar y restaurar estado sin violar encapsulamiento. Por qué: deshacer y puntos de guardado. Gancho: guardado de partida. Pseudocódigo: Editor crea Snapshot con texto y puede restaurar desde él.
20. Template Method Qué: define esqueleto de un algoritmo y permite pasos personalizables. Por qué: reutilizar flujo con variaciones. Gancho: receta de cocina. Pseudocódigo: Juego play llama init start end; Fútbol implementa esos pasos.
21. Visitor Qué: añade operaciones a estructuras sin modificarlas. Por qué: separar datos y operaciones nuevas. Gancho: auditor fiscal. Pseudocódigo: Libro acepta visitante y este ejecuta lógica específica.
22. Iterator Qué: recorre colecciones sin exponer su representación. Por qué: recorrido uniforme. Gancho: navegador de productos. Pseudocódigo: Iterador con hasNext y next avanza índice interno.
23. Interpreter Qué: evalúa reglas o gramáticas simples. Por qué: motores de reglas y filtros declarativos. Gancho: mini lenguaje de consulta. Pseudocódigo: Expresiones de categoría y precio combinadas con AND interpretan cada producto.
Consejos clave: no memorices nombres, entiende el problema que resuelve cada patrón. Usa analogías sencillas para explicarlos. Aplica patrones cuando clarifiquen el diseño y lo hagan más mantenible y a prueba de futuro.
Si además necesitas fortalecer ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, o automatización de procesos, en Q2BSTUDIO combinamos patrones con prácticas de ingeniería modernas para que tus sistemas se mantengan simples, escalables y seguros. Nuestro equipo domina aplicaciones a medida, software a medida, inteligencia artificial, agentes IA y más para acelerar tu hoja de ruta digital.
Feliz codificación y que tus diseños permanezcan siempre simples y escalables.