вторник, 18 февраля 2014 г.

Ссылка. Инверсия управления

http://ru.wikipedia.org/wiki/IoC

Цитата:

"Инверсия управления (англ. Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах.
Формулировка:
  • Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракции.
  • Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Одной из реализаций IoC является внедрение зависимостей (англ. dependency injection). Внедрение зависимости используется во многих фреймворках, которые называются IoC-контейнерами.
Если сравнить с более низкоуровневыми технологиями, IoC-контейнер - это компоновщик, который собирает не объектные файлы, а объекты ООП (экземпляры класса) во время исполнения программы. Очевидно, для реализации подобной идеи было необходимо создать не только сам компоновщик, но и фабрику, производящую объекты. Аналогом такого компоновщика (естественно, более функциональным) является компилятор, одной из функций которого является создание объектных файлов. В идее компоновки программы во время исполнения нет ничего нового. Предоставление программисту инструментов внедрения зависимостей дало значительно бо́льшую гибкость в разработке и удобство в тестировании кода.[источник не указан 96 дней]

Техники реализации[править | править исходный текст]

"

И опять же цитата:
"«С классами/методами/иерархией также? Не пора ли уже поговорить про "слабую связность"? (после ответов на 2 предыдущих вопроса, если захотите :))»
-- Да, IoC http://ru.wikipedia.org/wiki/IoC как раз об этом...
Но как и многое другое в разработке ПО, это только один из подходов.
Он НЕ безальтернативен..."

http://programmingmindstream.blogspot.ru/2014/02/blog-post_5.html?showComment=1392488674148#c3281074560201731492

Комментариев нет:

Отправить комментарий