Sobes.tech
Junior — Middle

Можете ли да објасните концепт шаблона за дизајн Singleton и његову примену?

sobes.tech АИ

Одговор од АИ

Singleton je obrazac dizajna koji garantuje da klasa ima samo jedan primerak i pruža globalni pristup tom primerku.

Primene:

  • Kada je potreban samo jedan objekat, na primer, za upravljanje konfiguracijom, beleženje, konekciju na bazu podataka.
  • Da bi se izbeglo kreiranje više primeraka koji mogu trošiti resurse ili dovesti do nekonzistentnosti.

Primer implementacije Singleton u 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

Na ovaj način, pokušajem da se kreira novi objekat klase Singleton, uvek se vraća ista instanca.