Sobes.tech
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, винаги се връща същият екземпляр.