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

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