Что означает «принцип инверсии зависимости» в ООП? - PullRequest
3 голосов
/ 20 сентября 2010

Что подразумевается под «принципом инверсии зависимостей» в объектно-ориентированном программировании?Что это делает?

Ответы [ 2 ]

4 голосов
/ 20 сентября 2010

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

Принцип гласит:

A. Модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций.

B. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Источник

0 голосов
/ 20 сентября 2010

Основная причина использования инверсии зависимостей состоит в том, чтобы позволить различным реализациям этих низкоуровневых модулей быть выбранными либо во время компиляции в приложении, либо во время выполнения по конфигурации. Это большой выигрыш для тестирования, поскольку он позволяет полностью изолировать тестируемый код и использовать фиктивные объекты .

Еще один способ, которым эта огромная помощь - это развертывание клиентов. Допустим, у вас есть разные клиенты с разными системами аутентификации, или разными базами данных, или системами отчетности, или чем-то еще. Вы можете настроить их систему во время развертывания, изменив файл XML, чтобы выбрать правильные реализации этих компонентов для загрузки, без каких-либо изменений кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...