Как реализовать Dependency Injection в TypeScript без фреймворка?

Senior
241 просмотров
AFK Offer AI

Простой DI контейнер: Map. register(token, factory). resolve(token): factory(this). inversify — популярная DI библиотека для TypeScript: @injectable(), @inject(TOKEN). tsyringe (от Microsoft) аналогично. Ручной DI без библиотек: constructor(private repo: UserRepo) + создать все зависимости в composition root (main.ts). Для тестирования мокаешь через constructor. Фреймворки (NestJS, tsyringe) делают это автоматически через Reflect Metadata.

Следующий вопрос

Как настроить Content Security Policy в Node.js?