Интернет магазин китайских планшетных компьютеров



Компьютеры - Внедрение зависимости

23 января 2011


Оглавление:
1. Внедрение зависимости
2. Примеры кода
3. Существующие фреймворки



Внедрение зависимости обозначает процесс предоставления внешней зависимости программному компоненту и является специфичной формой «обращения контроля», где изменение порядка связи является путём получения необходимой зависимости.

Условно, если объекту нужно получить доступ к определенному сервису, объект берет на себя ответственность за доступ к этому сервису: он или получает прямую ссылку на местонахождение сервиса, или обращается к известному «сервис-локатору» и запрашивает ссылку на реализацию определенного типа сервиса. Используя же внедрение зависимости, объект просто предоставляет свойство, которое в состоянии хранить ссылку на нужный тип сервиса; и когда объект создается, ссылка на реализацию нужного типа сервиса автоматически вставляется в это свойство, используя средства среды. Внедрение зависимости более гибко, потому как становится легче создавать альтернативные реализации данного типа сервиса, а потом указывать, какая именно реализация должна быть использована в, например, конфигурационном файле, без изменений в объектах, которые этот сервис используют. Это особенно полезно в юнит-тестировании, потому как вставить реализацию «заглушки» сервиса в тестируемый объект очень просто. С другой стороны, излишнее использование внедрения зависимостей может сделать приложения более сложными и трудными в сопровождении: так как для понимания поведения программы программисту необходимо смотреть не только в исходный код, а еще и в конфигурацию, а конфигурация, как правило, невидима для IDE, которые поддерживают анализ ссылок и рефакторинг, если явно не указана поддержка фреймворков с внедрениями зависимостей.



Просмотров: 2785


<<< Аспектно-ориентированная разработка программного обеспечения
Домен приложения >>>