Volver a Patrones y Buenas Prácticas
Patrones y Buenas Prácticas — Leccion 1
·15 minPatrón Singleton
Asegura una única instancia de una clase.
Singleton
El patrón Singleton asegura que solo exista una instancia de una clase.
typescript
class Database {
private static instance: Database;
private constructor(private url: string) {}
static getInstance(): Database {
if (!Database.instance) {
Database.instance = new Database("mongodb://localhost");
}
return Database.instance;
}
query(sql: string) {
console.log(`Ejecutando: ${sql}`);
}
}
const db1 = Database.getInstance();
const db2 = Database.getInstance();
console.log(db1 === db2); // true
Cuando usarlo
Conexiones a base de datos
Configuración global
Cache compartida
Logger
Alternativa moderna
typescript
// Module-level singleton (más simple)
const database = new Database("mongodb://localhost");
export default database;
// En otro archivo
import database from "./database";
Ejercicio pratico
Implementa un Singleton para una clase Config.
exercise.ts
Loading...
Resultado
Haz clic en "Ejecutar" para ver el resultado...