Встречается на собеседованиях • сегодня
Что такое dependency inversion principle
Принцип инверсии зависимостей (DIP) — один из SOLID-принципов, гласящий:
- Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Пример:
java
// Абстракция (интерфейс)
interface MessageService {
void sendMessage(String message);
}
// Реализация (деталь)
class EmailService implements MessageService {
@Override
public void sendMessage(String message) {
System.out.println("Email sent: " + message);
}
}
// Класс верхнего уровня зависит от абстракции, а не от конкретной реализации
class NotificationService {
private final MessageService service;
text
public NotificationService(MessageService service) {
this.service = service; // Внедрение зависимости
}
public void notify(String message) {
service.sendMessage(message);
}}
text
**Плюсы:**
- Гибкость (легко заменить реализацию).
- Упрощение тестирования (можно использовать моки).
- Снижение связанности кода.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы