Инверсия управления (IoC) — коротко и по существу
В предыдущей статье я упомянул инверсию управления в контексте основных элементов Spring Framework.
В этой статье мы разберемся, что такое IoC на практике.
Простое определение
Инверсия управления – это принцип программирования или набор правил. Использование этого правила инвертирует поток управления по сравнению с традиционным потоком, как в процедурном программировании.
Принцип IoC обеспечивает поток управления точно в противоположность стандартному потоку управления, используемому в процедурном программировании.
Объяснение
В таблице ниже показаны два разных потока управления.
Процедурное программирование
В процедурном программировании поток управления выглядит как в левой колонке. Код, написанный вами, использует библиотеки для выполнения закодированных функций.
В общем, ваш код имеет контроль над программой. Он просто использует функции/классы/интерфейсы, которые предоставляются разными библиотеками.
Инверсия контроля
Однако с сохранением принципа Inversion of Control — фреймворк берет на себя управление приложением и обрабатывает такие вещи, как:
- запуск приложения
- загрузка конфигурации
- предоставление готовых компонентов.
«Ваш код» используется фреймворком только для выполнения определенных операций, таких как:
- данные обработки
- обрабатывать модели данных из базы данных и т. д.
Заключение
«Лучшее объяснение — самое короткое», и это правило я держал в уме, когда писал этот пост.
Честно говоря, я потратил много времени на чтение и просмотр множества материалов об инверсии управления, но то, что вы прочитали в моей статье, — это все, что вам нужно знать об этом принципе. Я надеюсь, что это полезно!
Первоначально опубликовано на https://unicodely.net.