Инверсия управления
-
Определение инверсии управления
- Инверсия управления (IoC) — это принцип, при котором поток управления в программе определяется динамически, а не статически.
- В традиционном программировании управление осуществляется от объектов к принимающему приложению.
- В IoC управление осуществляется от принимающего приложения к объектам.
-
История и популяризация
- Термин «инверсия управления» был введен Майклом Маттссоном в 1980-х годах.
- Стефано Маццокки популяризировал его в 1999 году, используя в проекте Apache Software Foundation.
- Роберт К. Мартин и Мартин Фаулер популяризировали его в 2004 году.
-
Описание принципа
- В IoC поток бизнес-логики зависит от графа объектов, создаваемого во время выполнения программы.
- Взаимодействие объектов определяется с помощью абстракций, таких как внедрение зависимостей.
- Код для выполнения можно найти, прочитав его описание из внешней конфигурации.
-
Примеры использования
- Инверсия управления используется в различных средах программирования, включая Mesa для XDE и ASP.NET Ядро.
- HTML DOM использует инверсию управления для регистрации обратных вызовов событий.
-
Рекомендации и внешние ссылки
- В статье приведены примеры кода, демонстрирующие использование инверсии управления в различных контекстах.
- Ссылки на внешние ресурсы, включая фильм Мартина Фаулера «Блики», для более глубокого понимания принципа инверсии управления.