Sofiane Boumedine Lexique Dev

Singleton

JavaScript 🟢 Junior

Type : 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.

patterninterview-question