Sobes.tech
Back to questions
Junior — Middle
106

Можете объяснить принцип работы паттерна Singleton и его основные особенности?

Answer from AI

sobes.tech AI

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

Основные особенности:

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

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

Здесь при создании второго объекта возвращается уже существующий экземпляр.