Sobes.tech
Junior — Middle

Kas saaksite selgitada Singleton disainimustri kontseptsiooni ja selle rakendamist?

sobes.tech AI

Vastus AI-lt

Singleton on disainimuster, mis tagab, et klassil on ainult üks eksemplar ning pakub sellele globaalset juurdepääsu.

Rakendused:

  • Kui on vaja ainult ühte objekti, näiteks konfiguratsiooni haldamiseks, logimiseks, andmebaasi ühendamiseks.
  • Selleks, et vältida mitme eksemplari loomist, mis võivad ressursse kulutada või põhjustada ebastabiilsust.

Singletoni rakendamise näide Node.js-is:

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

Seega, kui proovite luua uut objekti Singleton klassist, tagastatakse alati sama eksemplar.