http://ru.wikipedia.org/wiki/IoC
Цитата:
"Инверсия управления (англ. Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах.
И опять же цитата:
"«С классами/методами/иерархией также? Не пора ли уже поговорить про "слабую связность"? (после ответов на 2 предыдущих вопроса, если захотите :))»
-- Да, IoC http://ru.wikipedia.org/wiki/IoC как раз об этом...
Но как и многое другое в разработке ПО, это только один из подходов.
Он НЕ безальтернативен..."
http://programmingmindstream.blogspot.ru/2014/02/blog-post_5.html?showComment=1392488674148#c3281074560201731492
Цитата:
"Инверсия управления (англ. Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах.
Формулировка:
- Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракции.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Одной из реализаций IoC является внедрение зависимостей (англ. dependency injection). Внедрение зависимости используется во многих фреймворках, которые называются IoC-контейнерами.
Если сравнить с более низкоуровневыми технологиями, IoC-контейнер - это компоновщик, который собирает не объектные файлы, а объекты ООП (экземпляры класса) во время исполнения программы. Очевидно, для реализации подобной идеи было необходимо создать не только сам компоновщик, но и фабрику, производящую объекты. Аналогом такого компоновщика (естественно, более функциональным) является компилятор, одной из функций которого является создание объектных файлов. В идее компоновки программы во время исполнения нет ничего нового. Предоставление программисту инструментов внедрения зависимостей дало значительно бо́льшую гибкость в разработке и удобство в тестировании кода.
Техники реализации
- Фабричный метод (англ. Factory Method pattern)
- Service locator
- Внедрение зависимости (англ. Dependency injection)
- IoC контейнер (англ. IoC-container)
И опять же цитата:
"«С классами/методами/иерархией также? Не пора ли уже поговорить про "слабую связность"? (после ответов на 2 предыдущих вопроса, если захотите :))»
-- Да, IoC http://ru.wikipedia.org/wiki/IoC как раз об этом...
Но как и многое другое в разработке ПО, это только один из подходов.
Он НЕ безальтернативен..."
http://programmingmindstream.blogspot.ru/2014/02/blog-post_5.html?showComment=1392488674148#c3281074560201731492
Комментариев нет:
Отправить комментарий