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

Когда не применять инверсию зависимостей

Инверсия зависимостей (Dependency Inversion Principle, DIP) не всегда уместна. Вот случаи, когда её лучше избегать:

  1. Простые проекты или утилиты – если код небольшой и не требует гибкости, DI усложнит архитектуру без пользы.
  2. Высокопроизводительные сценарии – инъекция зависимостей через интерфейсы может добавить накладные расходы.
  3. Специфичные зависимости – например, доступ к localStorage или нативным API браузера. Абстрагирование здесь избыточно.
  4. Третьесторонние библиотеки – если библиотека уже предоставляет готовый API, оборачивание в интерфейс не даст преимуществ.

Пример избыточного DI:

typescript
// Излишне
interface ILogger {
  log(message: string): void;
}

class ConsoleLogger implements ILogger {
  log(message: string) {
    console.log(message);
  }
}

class App {
  constructor(private logger: ILogger) {}
}

Вместо этого можно использовать console.log напрямую, если логирование не требует гибкости.

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

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

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

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