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

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