Инверсия управления
Инверсия управления - это принцип, используемый платформами какспособ позволить разработчикам расширять фреймворк или создавать приложения, используя его.Основная идея заключается в том, что фреймворк знает объекты программиста и вызывает их.
Это противоположно использованию API, где код разработчика выполняет вызовы кода API.Следовательно, фреймворки инвертируют управление: за разработку отвечает не код разработчика, а фреймворк делает вызовы, основываясь на каком-то стимуле.
Возможно, вы были в ситуациях, когда вы разрабатывали в свете этогопринцип, даже если вы не знали об этом.
Инверсия контейнера управления
Инверсия контейнера управления использует принцип, изложенный выше, для (в двух словах) управленияклассы.То есть их создание, уничтожение, время жизни, конфигурация и зависимости.Таким образом, классам не нужно получать и настраивать классы, от которых они зависят.Это значительно снижает сцепление в системе и, как следствие, упрощает повторное использование и тестируемость.
Существует некоторая путаница, созданная людьми, которые думают, что «Инверсия управления» является синонимом «Инверсия контейнера управления».Как уже говорилось, инверсия контроля является более широким принципом.
Часто люди думают, что все дело в «инъекции», и сообщают, что это основная цель контейнеров IoC.На самом деле «инъекция» является следствием, средством разъединения, а не основной целью.