Inversion of Control vs Dependency Inversion?

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

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

Войти через центр авторизации
Похожие вопросы