Встречается на собеседованиях • сегодня

Как Dependency Injection соотносится с Invertion Of Control

DI (Dependency Injection) — это частный случай IoC (Inversion of Control). IoC — общий принцип, при котором управление передаётся внешнему контейнеру (фреймворку, окружению), а не контролируется самим кодом. DI реализует IoC через внедрение зависимостей извне, а не их создание внутри класса.

Пример без DI:

java
class OrderService {
    private PaymentProcessor processor = new PaymentProcessor();
    // ...
}

Пример с DI (через конструктор):

java
class OrderService {
    private PaymentProcessor processor;
    
    public OrderService(PaymentProcessor processor) {
        this.processor = processor; // зависимость внедряется извне
    }
}

DI делает код гибче, тестируемее и уменьшает связность. IoC-контейнер (например, Spring) управляет созданием и внедрением зависимостей.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы