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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

Паттерн 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

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее