Sobes.tech
Back to questions
Junior — Middle
94

Можете объяснить концепцию шаблона проектирования Singleton и его применение?

Answer from AI

sobes.tech AI

Singleton — это шаблон проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.

Применение:

  • Когда нужен единственный объект, например, для управления конфигурацией, логированием, подключением к базе данных.
  • Чтобы избежать создания множества экземпляров, которые могут расходовать ресурсы или приводить к неконсистентности.

Пример реализации Singleton в 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

Таким образом, при попытке создать новый объект класса Singleton, всегда возвращается один и тот же экземпляр.