Junior — Middle
Meg tudná magyarázni a Singleton tervezési minta fogalmát és alkalmazását?
sobes.tech MI
Válasz az MI-től
Singleton egy tervezési minta, amely garantálja, hogy egy osztálynak csak egy példánya legyen, és globális hozzáférést biztosít ehhez a példányhoz.
Alkalmazások:
- Amikor csak egy objektum szükséges, például konfiguráció kezelésére, naplózásra, adatbázis-kapcsolatra.
- Annak elkerülése érdekében, hogy több példány jöjjön létre, amelyek erőforrásokat fogyasztanak vagy inkonzisztenciához vezethetnek.
Singleton példája Node.js-ben:
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
Így, amikor megpróbálsz egy új objektumot létrehozni a Singleton osztályból, mindig ugyanaz a példány kerül visszaadásra.