Sobes.tech
Junior — Middle

Můžete vysvětlit koncept návrhového vzoru Singleton a jeho použití?

sobes.tech AI

Odpověď od AI

Singleton je návrhový vzor, ktorý zaručuje, že trieda má iba jednu inštanciu a poskytuje globálny prístup k tejto inštancii.

Použitie:

  • Keď je potrebný jediný objekt, napríklad na správu konfigurácie, logovanie, pripojenie k databáze.
  • Aby sa zabránilo vytváraniu viacerých inštancií, ktoré môžu spotrebovať zdroje alebo viesť k nekonzistencii.

Príklad implementácie Singleton v Node.js:

class Singleton {
  constructor() {
    if (Singleton.instance) {
      return Singleton.instance;
    }
    this.value = Math.random();
    Singleton.instance = this;
  }
}

const a = new Singleton();
const b = new Singleton();
console.log(a === b); // true

Týmto spôsobom, pri pokuse vytvoriť nový objekt triedy Singleton, sa vždy vráti tá istá inštancia.