Sobes.tech
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.