Ответ 1
Это взято из документации Windsor
Инверсия управления
Инверсия управления - это принцип, используемый структурами как способ позволяют разработчикам расширять рамки или создавать приложения, используя Это. Основная идея заключается в том, что структура знает о программистах объектов и делает на них вызовы.
Это противоположность использованию API, где код разработчика делает ссылки на код API. Следовательно, рамки инвертируют управление: это не код разработчика, а основной делает звонки на основе некоторого стимула.
Вероятно, вы были в ситуациях, когда свет этого принципа, даже если вы не знали об этом.
Инверсия контейнера управления
Инверсия контрольного контейнера использует принцип, указанный выше, для (в двух словах) управлять классами. То есть, их создание, разрушение, времени жизни, конфигурации и зависимостей. Таким образом, классы не необходимо получить и настроить классы, от которых они зависят. Эта резко уменьшает сцепление в системе и, как следствие, упрощает повторное использование и тестируемость.
Существует некоторая путаница, созданная людьми, которые считают, что "инверсия of Control" является синонимом "Inversion of Control Container". В виде заявил, что обращение к управлению является более широким принципом.
Часто люди думают, что речь идет о "инъекции" и трансляции что это основная цель контейнеров IoC. По факту, "инъекция" является следствием, средством отделить, а не от первичной Цель.