> Что такое Dependency Injection (DI) (JavaScript)

Уровень: junior · Роль: frontend · Язык: JavaScript · Категория: Технические вопросы

Компании: ESoft

Стек: Node.js, JavaScript

> Пример ответа

Dependency Injection (DI) - это паттерн проектирования, при котором зависимости объекта (например, сервисы, конфигурации или другие модули) передаются ему извне, а не создаются внутри самого объекта. Во фронтенде на JavaScript и Node.js это особенно полезно для тестирования и модульности.Пример без DI:

JAVASCRIPT
class UserService {
constructor() {
this.db = new Database(); // жесткая связь
}
}

С DI:

JAVASCRIPT
class UserService {
constructor(database) {
this.db = database; // зависимость внедряется
}
}
// Использование:
const db = new Database();
const userService = new UserService(db);

В Node.js DI часто реализуется через контейнеры (например, Awilix, inversify) или просто через передачу аргументов в конструктор. Это упрощает замену зависимостей для тестов (mock-объекты) и повышает гибкость кода.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью