Singleton
JavaScript 🟢 JuniorType : Pattern
Definition
Le singleton garantit qu'une classe ou un module n'a qu'une seule instance dans toute l'application. En JS, un simple module ES est deja un singleton grace au cache de modules.
Analogie
Il n'y a qu'un seul president a la fois : peu importe combien de fois tu demandes "qui est le president", c'est toujours la meme personne.
Exemple de code
class Database {
static #instance;
static getInstance() {
if (!this.#instance) this.#instance = new Database();
return this.#instance;
}
private constructor() {}
}Cas d'usage
Gerer une connexion unique a une base de donnees ou un store global d'application.