El catálogo de patrones descrito por el Gang of Four organiza sus 23 soluciones en tres familias. Esta clasificación facilita decidir qué patrones explorar según la naturaleza del problema: crear objetos, componer estructuras o coordinar colaboraciones. Comprender las diferencias evita elegir patrones por intuición y ayuda a construir diseños coherentes.
En esta unidad repasamos cada familia, los desafíos que aborda y ejemplos concretos de cuándo aplicarla, siempre teniendo en cuenta que un patrón es una guía adaptable, no una receta rígida.
Las categorías creacional, estructural y de comportamiento responden a preguntas distintas del diseño orientado a objetos:
Esta clasificación actúa como un mapa mental: cuando un requisito involucra instanciación, composición o interacción, podemos dirigirnos a la familia apropiada y seleccionar el patrón más adecuado.
Los patrones creacionales abstraen la lógica de creación de objetos para reducir el acoplamiento con implementaciones concretas. Permiten configurar familias de productos, diferir la instanciación o clonar objetos existentes. Entre los más conocidos se encuentran Singleton, Factory Method, Abstract Factory, Builder y Prototype.
Ventajas habituales:
Esta familia describe cómo ensamblar clases y objetos para formar estructuras más grandes sin perder flexibilidad. Se enfocan en la composición de interfaces, adaptadores y envoltorios. Algunos representantes son Adapter, Bridge, Composite, Decorator, Facade, Flyweight y Proxy.
Los patrones estructurales ayudan cuando precisamos:
Los patrones de comportamiento se centran en la asignación de responsabilidades y la comunicación entre objetos. Buscan desacoplar emisores de receptores, encapsular algoritmos intercambiables o gestionar secuencias de pasos. Strategy, Observer, Command, State, Template Method, Visitor, Mediator y Chain of Responsibility son ejemplos destacados.
Beneficios concretos:
Aunque cada familia resuelve problemas distintos, comparten un principio: separar lo que cambia de lo que permanece estable. No obstante, su uso indebido puede generar sobrediseño. Algunas señales de alerta incluyen crear fábricas innecesarias para objetos triviales, encadenar demasiados decoradores o introducir patrones de comportamiento para comportamientos simples que podrían resolverse con funciones directas.
Un enfoque práctico consiste en formular preguntas guía:
Además, combine la clasificación con métricas del proyecto: complejidad ciclomática, número de dependencias y frecuencia de cambios. Esto permitirá evaluar si la adopción de un patrón aporta valor tangible.
En los siguientes temas profundizaremos en cada patrón específico de las tres familias. Mantenga esta clasificación como referencia para detectar rápidamente qué tipo de solución puede responder a los retos que se presenten en sus proyectos.