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

В чем разница между Inversion of Control и Dependency Injection

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

Пример DI:

java
// Без DI
class Service {
    private Repository repo = new RepositoryImpl();
}

// С DI
class Service {
    private Repository repo;
    
    public Service(Repository repo) {  // Constructor Injection
        this.repo = repo;
    }
}

Ключевое отличие: IoC — это паттерн проектирования, а DI — способ его реализации. IoC может достигаться и другими способами (например, через Service Locator), но DI стал стандартом в Spring и других фреймворках.

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

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

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

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