Встречается на собеседованиях • сегодня
Что такое SOLID dependency injection
SOLID dependency injection (DI) — это применение принципов SOLID для управления зависимостями в приложении. DI позволяет внедрять зависимости извне, а не создавать их внутри класса, что делает код более гибким и тестируемым.
Ключевые аспекты:
- Single Responsibility (S) — класс зависит от абстракций, а не от конкретных реализаций.
- Open/Closed (O) — новые зависимости можно добавлять без изменения существующего кода.
- Liskov Substitution (L) — зависимости могут заменяться их подтипами.
- Interface Segregation (I) — клиенты зависят от узкоспециализированных интерфейсов.
- Dependency Inversion (D) — модули верхнего уровня не зависят от модулей нижнего уровня, оба зависят от абстракций.
Пример:
java
interface MessageService {
void send(String message);
}
class EmailService implements MessageService {
@Override
public void send(String message) {
System.out.println("Email sent: " + message);
}
}
class NotificationService {
private final MessageService messageService;
// DI через конструктор
public NotificationService(MessageService messageService) {
this.messageService = messageService;
}
public void notify(String msg) {
messageService.send(msg);
}
} Используя DI (например, через Spring или ручное внедрение), мы соблюдаем SOLID, упрощаем тестирование и уменьшаем связанность.

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