Назад к вопросам
Junior — Middle
107
Можете объяснить принцип работы паттерна Singleton и его основные особенности?
Ответ от нейросети
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
Здесь при создании второго объекта возвращается уже существующий экземпляр.