Singleton, Observer, Factory, Adapter, Fassade, Proxy
Este artículo ofrece una explicación conceptual de seis patrones frecuentes, con preguntas de examen, ejemplos y etiquetas incluidas.
In a Nutshell
Los Design Patterns proporcionan soluciones probadas para problemas recurrentes de estructura y comunicación.
Descripción técnica compacta
- Singleton: exactamente una instancia (p. ej., configuración/logger)
- Observer: Publish/Subscribe para eventos (p. ej., UI)
- Factory: encapsula la creación de objetos
- Adapter: traduce interfaces incompatibles
- Fassade: unifica un subsistema detrás de una API simple
- Proxy: delegado para control de acceso, caché, logging y lazy loading
Puntos clave para examen
- Singleton: una instancia, acceso global
- Observer: desacoplamiento de eventos
- Factory: creación flexible de objetos (relevante para IHK)
- Adapter: integración y compatibilidad
- Fassade: API simplificada
- Proxy: control de acceso y caché (seguridad)
- Documentar y justificar los patterns
Componentes principales
- Constructor de Singleton
- Interfaz Observer
- Factory
create() - Mapeo de Adapter
- API de Fassade
- Control de acceso de Proxy
Ejemplo práctico (Singleton en Java)
public class ConfigManager {
private static ConfigManager instance;
private ConfigManager() {}
public static ConfigManager getInstance() {
if (instance == null) {
instance = new ConfigManager();
}
return instance;
}
}
Ventajas e inconvenientes
Ventajas
- Soluciones reutilizables
- Estructuras probadas
- Mejor comunicación en el equipo
Inconvenientes
- Mal uso genera complejidad
- Singleton puede dificultar los tests
- Observer puede crear cascadas de cambios
Preguntas típicas de examen (con respuesta breve)
- ¿Objetivo del Singleton? Exactamente una instancia.
- ¿Cuándo usar Observer? Cuando múltiples receptores deben reaccionar a cambios.
- ¿Por qué Factory en lugar de
newen todas partes? Centralizar y desacoplar la lógica de creación.



