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.