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, всегда возвращается один и тот же экземпляр.