Junior — Middle
Можете ли да обясните концепцията за шаблон за проектиране Singleton и неговото приложение?
sobes.tech AI
Отговор от 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, винаги се връща същият екземпляр.