Patrón Singleton
¿Qué es el Patrón Singleton?
El patrón Singleton es un patrón de diseño creacional que asegura que una clase tenga una única instancia y proporciona un punto de acceso global a dicha instancia.
Código de Ejemplo en JavaScript
class Singleton {
constructor() {
if (Singleton.instance) {
return Singleton.instance;
}
Singleton.instance = this;
this.config = {};
}
setConfig(key, value) {
this.config[key] = value;
}
getConfig(key) {
return this.config[key];
}
}
const instance1 = new Singleton();
instance1.setConfig("theme", "dark");
const instance2 = new Singleton();
console.log(instance2.getConfig("theme")); // "dark"
console.log(instance1 === instance2); // true
Casos de Uso
- Gestión de configuraciones globales.
- Logging (registro de eventos en una sola instancia).
- Conexión a bases de datos (una sola conexión abierta).
- Gestión del estado global en aplicaciones.
Patrones Relacionados
- Factory Method: Controla la creación de objetos pero no garantiza una única instancia.
- Prototype: Clona objetos existentes.
- Module Pattern: Similar en su uso cuando se trabaja con módulos ES6.