Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Обращение контроля22 января 2011Оглавление: 1. Обращение контроля 2. Применение Inversion of Control Инверсия управления важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах и входящий в пятерку важнейших принципов SOLID. Наиболее популярной реализацией IoC является Dependency Injection Principle. Dependency Injection используется во многих framework'ах, они называются IoC контейнеры. Он применяется программистами, использующими такие объектно-ориентированные языки программирования, как Smalltalk, C++, Java или языки платформы .NET. Техническое описаниеТермины и определенияМодули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций. Класс X зависит от класса Y, если выполняется одно из следующих условий:
X зависит от Y не значит, что Y зависит от X. Если же существуют обе зависимости, то это называется циклической зависимостью: X не может быть использован без Y, и наоборот. Существование большого числа циклических зависимостей в объектно-ориентированной программе может быть показателем неоптимального программного построения. Разрыв зависимостиЕсли объект x вызывает методы объекта y, то X зависит от Y. Зависимость может быть обращена введением третьего класса, а именно интерфейсного класса I, который должен содержать все методы, которые x может вызвать у объекта y. Кроме того, Y должен реализовать интерфейс I. X и Y сейчас оба зависят от I, и класс X более не зависит от класса Y; предполагается, что X не реализует I. Это исключение зависимости класса X от Y введением интерфейса I называется Inversion of Control). Следует отметить, что Y может зависеть от других классов. До внесения изменений X зависел от Y, таким образом X косвенно зависел от всех классов, от которых зависит Y. Применением Inversion of Сontrol все эти косвенные зависимости также были разорваны не только зависимость X от Y. Новый интерфейс I ни от чего не зависит. Просмотров: 1662
|