Uso: Separar la abstracción de la implementación y permitir configuraciones independientes de ambas.
Combo 2: Optimización de Recursos
Singleton + Flyweight
Uso: Manejar instancias únicas y compartir objetos de manera eficiente.
Combo 3: Adaptación y Mejora
Adapter + Decorator
Uso: Adaptar interfaces y luego extender funcionalidades sin modificar el código existente.
Combo 4: Creación y Modificación
Builder + Prototype
Uso: Construir objetos complejos paso a paso y luego clonar esos objetos según sea necesario.
Combo 5: Estructura y Acceso
Composite + Facade
Uso: Construir estructuras de objetos en árbol y proporcionar una interfaz simplificada para acceder a ellos.
Combo 6: Comando y Respuesta
Command + Observer
Uso: Encapsular acciones como objetos que luego pueden ser observadas y respondidas por otros objetos.
Combo 7: Comportamiento y Estado
Strategy + State
Uso: Definir una familia de algoritmos intercambiables y permitir que el objeto cambie su comportamiento cuando su estado interno cambia.
Combo 8: Interacción y Medio
Mediator + Iterator
Uso: Centralizar la comunicación compleja entre objetos y proporcionar una manera de acceder secuencialmente a los elementos de una colección sin exponer su representación subyacente.
Combo de Patrones de Diseño
Combo 1: Interfaz y Extensión
Combo 2: Optimización de Recursos
Combo 3: Adaptación y Mejora
Combo 4: Creación y Modificación
Combo 5: Estructura y Acceso
Combo 6: Comando y Respuesta
Combo 7: Comportamiento y Estado
Combo 8: Interacción y Medio