Задать вопрос

Inversion of Control vs Dependency Inversion?

Чем отличается принцип инверсии управления (IoC) от принципа инверсии зависимостей (DIP)?
  • Вопрос задан
  • 1120 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Курс Java-разработчик
    4 месяца
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Решения вопроса 1
pi314
@pi314
Президент Солнечной системы и окрестностей
Эти принципы просто относятся к разным вещам. IoC предлагает некий способ организации управления потоком выполнения в системе (кто кого почему и когда вызывает), в то время как DIP предлагает соблюдать определенное направление при организации зависимостей (между модулями), основываясь на уровне абстрактности оных.
В общем оба они направлены на повышение качественных характеристик системы (и это в них, как и во всех прочих принципах ООД, действительно общее), только один "подходит к проблеме" со стороны поведенческих аспектов системы, а второй - со стороны структурных.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@lega
DI - это частный случай IoC, с IoC вам нужно самим вызвать/доставать нужные "компоненты", когда DI сам их вам поставляет, например в качестве параметров в ф-ии.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы