Встречается на собеседованиях • сегодня

Что такое Внедрение зависимости (Dependency injection)

Внедрение зависимости (DI) — это паттерн проектирования, при котором зависимости объекта передаются извне, а не создаются внутри самого объекта. Это делает код более гибким, тестируемым и поддерживаемым.

Пример без DI:

javascript
class UserService {
  constructor() {
    this.db = new Database(); // зависимость создается внутри класса
  }
}

Пример с DI:

javascript
class UserService {
  constructor(db) { // зависимость передается извне
    this.db = db;
  }
}

const db = new Database();
const userService = new UserService(db); // внедрение зависимости

Преимущества:

  • Упрощает тестирование (можно передавать mock-объекты)
  • Уменьшает связанность кода
  • Позволяет легко менять реализации зависимостей

Во фронтенде DI часто реализуется через контейнеры зависимостей (например, в Angular) или просто через передачу параметров в конструктор/функции.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы