Встречается на собеседованиях • сегодня
Что такое инверсия зависимостей
Инверсия зависимостей (Dependency Inversion Principle, DIP) — один из принципов SOLID, который гласит, что высокоуровневые модули не должны зависеть от низкоуровневых. Оба должны зависеть от абстракций. Абстракции не должны зависеть от деталей, а детали — от абстракций.
Пример без DIP:
javascript
class LightBulb {
turnOn() { /* ... */ }
}
class Switch {
constructor(bulb) {
this.bulb = bulb;
}
operate() {
this.bulb.turnOn();
}
}Пример с DIP:
javascript
class Switchable {
turnOn() {}
}
class LightBulb extends Switchable {
turnOn() { /* ... */ }
}
class Switch {
constructor(device) {
this.device = device;
}
operate() {
this.device.turnOn();
}
}Теперь Switch зависит от абстракции (Switchable), а не от конкретной реализации (LightBulb). Это упрощает расширение кода.

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