Встречается на собеседованиях • сегодня
Для чего нужна инверсия зависимостей
Инверсия зависимостей (Dependency Inversion Principle, DIP) — один из принципов SOLID, который помогает уменьшить связанность кода. Суть в том, что модули верхнего уровня не должны зависеть от модулей нижнего уровня — оба должны зависеть от абстракций.
Пример без DIP:
javascript
class Database {
save(data) { /* сохранение в БД */ }
}
class UserService {
constructor() {
this.db = new Database(); // жёсткая зависимость
}
}
text
**Пример с DIP:**
```javascript
class Database {
save(data) { /* сохранение в БД */ }
}
class UserService {
constructor(database) { // зависимость через абстракцию (интерфейс)
this.db = database;
}
}
const db = new Database();
const userService = new UserService(db); // инъекция зависимостиПлюсы:
- Гибкость (легко заменить реализацию).
- Тестируемость (можно подменить моки).
- Чистый и поддерживаемый код.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы