Inversion of Control Containers and the Dependency Injection pattern
Inversion of Control (инверсия управления)
это некий абстрактный принцип, набор рекомендаций для написания слабо связанного кода. Суть которого в том, что каждый компонент системы должен быть как можно более изолированным от других, не полагаясь в своей работе на детали конкретной реализации других компонентов.
Dependency Injection (внедрение зависимостей)
это одна из реализаций этого принципа (помимо этого есть еще Factory Method, Service Locator).
IoC-контейнер
это какая-то библиотека, фреймворк, которая позволит вам упростить и автоматизировать написание кода с использованием данного подхода на столько, на сколько это возможно. Например: Ninject, Autofac, Unity, Windsor Castle, StructureMap, в ASP.NET Core есть встроенный контейнер внедрения зависимостей, который представлен интерфейсом IServiceProvider.
Last updated