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