Sobes.tech
Back to questions
Junior — Middle
87

Можно ли реализовать паттерн singleton в рамках фреймворка NestJS?

Answer from AI

sobes.tech AI

Да, в NestJS паттерн singleton реализуется по умолчанию для сервисов и провайдеров. Когда вы создаёте сервис и регистрируете его в модуле, NestJS создаёт единственный экземпляр этого сервиса, который затем инжектируется во все компоненты, где он требуется.

Это достигается благодаря встроенному механизму Dependency Injection и контейнеру провайдеров.

Пример:

import { Injectable } from '@nestjs/common';

@Injectable()
export class MySingletonService {
  private counter = 0;

  increment() {
    this.counter++;
    return this.counter;
  }
}

// В любом компоненте, где инжектируется MySingletonService, будет один и тот же экземпляр