Инверсия управления (IoC) — коротко и по существу

В предыдущей статье я упомянул инверсию управления в контексте основных элементов Spring Framework.

В этой статье мы разберемся, что такое IoC на практике.

Простое определение

Инверсия управления – это принцип программирования или набор правил. Использование этого правила инвертирует поток управления по сравнению с традиционным потоком, как в процедурном программировании.

Принцип IoC обеспечивает поток управления точно в противоположность стандартному потоку управления, используемому в процедурном программировании.

Объяснение

В таблице ниже показаны два разных потока управления.

Процедурное программирование

В процедурном программировании поток управления выглядит как в левой колонке. Код, написанный вами, использует библиотеки для выполнения закодированных функций.

В общем, ваш код имеет контроль над программой. Он просто использует функции/классы/интерфейсы, которые предоставляются разными библиотеками.

Инверсия контроля

Однако с сохранением принципа Inversion of Control — фреймворк берет на себя управление приложением и обрабатывает такие вещи, как:

  • запуск приложения
  • загрузка конфигурации
  • предоставление готовых компонентов.

«Ваш код» используется фреймворком только для выполнения определенных операций, таких как:

  • данные обработки
  • обрабатывать модели данных из базы данных и т. д.

Заключение

«Лучшее объяснение — самое короткое», и это правило я держал в уме, когда писал этот пост.

Честно говоря, я потратил много времени на чтение и просмотр множества материалов об инверсии управления, но то, что вы прочитали в моей статье, — это все, что вам нужно знать об этом принципе. Я надеюсь, что это полезно!

Первоначально опубликовано на https://unicodely.net.