Логотип

IoC

Технологии и инженерия

Определение

Инверсия управления (англ. Inversion of Control, сокращенно IoC) — принцип, при котором каркас программы сам вызывает код приложения в нужный момент. Разработчик пишет обработчики и правила, а когда их запускать, решает фреймворк. Аналогия: актер ждет за кулисами, и на сцену его вызывает режиссер по ходу спектакля. Пример: фреймворк сам вызывает функцию оформления заказа, когда приходит запрос, и сам передает ей нужные сервисы. Так код приложения меньше зависит от инфраструктуры и проще тестируется. Самый распространенный вид IoC — внедрение зависимостей. Близкий принцип есть в SOLID под буквой D, инверсия зависимостей.