Estructurales
Los Patrones de Diseño Estructurales (Structural Design Patterns) se centran en la composición de clases y objetos. Su principal objetivo es simplificar las estructuras complejas al identificar formas de relacionar las entidades.
En esencia, estos patrones se aseguran de que, cuando los objetos o las clases se combinan, no generen problemas de eficiencia o rigidez en el diseño.
Propósito Clave: Armonía y Flexibilidad
Estos patrones buscan lograr dos cosas fundamentales:
Flexibilidad: Facilitar que los sistemas sigan siendo flexibles a medida que se añaden nuevas funcionalidades sin tener que modificar el código existente.
Organización: Establecer relaciones claras y eficientes entre las clases y objetos. Es decir, cómo se construye una estructura más grande a partir de piezas más pequeñas.
Ejemplos Fundamentales
Adapter (Adaptador)
Permite que dos interfaces incompatibles trabajen juntas, actuando como un traductor.
Un adaptador de corriente que convierte un enchufe de un país a otro.
Decorator (Decorador)
Añade nuevas responsabilidades a un objeto dinámicamente sin modificar su estructura.
Añadir capas a una tarta (crema, glaseado, virutas) sin cambiar la estructura fundamental de la tarta.
Facade (Fachada)
Proporciona una interfaz unificada y simple a un sistema complejo de clases.
El panel de control de un coche: usas unos pocos botones para controlar un motor, transmisión y sistemas eléctricos muy complejos.
Composite (Compuesto)
Permite tratar a grupos de objetos de la misma manera que a un solo objeto, construyendo estructuras de árbol de parte-todo.
La estructura de carpetas de un ordenador: una carpeta (compuesto) puede contener archivos individuales (hojas) y otras subcarpetas.
Proxy (Apoderado)
Proporciona un sustituto o marcador de posición para otro objeto, controlando el acceso a él.
Un agente inmobiliario: no tratas directamente con el dueño de la casa (el objeto real), sino con su representante (el proxy).
Última actualización