Как реализовать IoC контейнер в Node.js без фреймворка?

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

IoC контейнер управляет созданием объектов и их зависимостями. Простейший вариант: const container = new Map(); container.set("UserRepo", new PrismaUserRepository(prisma)); container.set("EmailService", new SmtpEmailService(smtpConfig)); container.set("UserService", new UserService(container.get("UserRepo"), container.get("EmailService"))). Composition Root в main.ts — единственное место где создаются все зависимости. inversify или tsyringe для автоматического DI. NestJS делает это автоматически. Ручной IoC понятнее, автоматический удобнее при масштабировании.

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

Что такое faker.js и как его использовать в тестах?