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, будет один и тот же экземпляр