Какие плюсы и минусы DI

«Какие плюсы и минусы DI» — вопрос из категории Паттерны, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

**Плюсы DI (Dependency Injection):** * Уменьшает связанность кода, упрощая тестирование (можно подменять зависимости моками) * Улучшает читаемость и поддерживаемость (зависимости явно декларируются) * Облегчает рефакторинг и замену реализаций * Позволяет централизованно управлять зависимостями **Минусы DI:** * Увеличивает сложность кода (требует дополнительных абстракций) * Может привести к "овер-инжинирингу" в простых проектах * Требует понимания паттерна от разработчиков * Иногда усложняет отладку из-за скрытых зависимостей Пример DI в React: ``` // Вместо прямого импорта const UserList = ({ apiClient }) => { const [users, setUsers] = useState([]); useEffect(() => { apiClient.getUsers().then(setUsers); }, []); return
    {users.map(user =>
  • {user.name}
  • )}
; }; // Использование с подменой для тестов ```