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.