Встречается на собеседованиях • сегодня
Для чего нужна инверсия зависимостей
Инверсия зависимостей (Dependency Inversion Principle, DIP) — один из принципов SOLID. Он гласит, что модули верхнего уровня не должны зависеть от модулей нижнего уровня, а оба должны зависеть от абстракций. Это позволяет уменьшить связанность кода и упростить его тестирование и модификацию.
Пример без DIP:
java
class LightBulb {
void turnOn() { /* ... */ }
}
class Switch {
private LightBulb bulb;
void operate() { bulb.turnOn(); }
}С DIP:
java
interface Switchable {
void turnOn();
}
class LightBulb implements Switchable {
public void turnOn() { /* ... */ }
}
class Switch {
private Switchable device;
void operate() { device.turnOn(); }
}Теперь Switch зависит от абстракции (Switchable), а не от конкретной реализации (LightBulb). Это позволяет легко добавлять новые устройства без изменения кода Switch.

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