Junior — Middle
Môžete vysvetliť koncept návrhového vzoru Singleton a jeho použitie?
sobes.tech AI
Odpoveď od AI
Singleton je vzor návrhu, ktorý zaručuje, že trieda má iba jeden 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.