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.