Цикл статей о SOLID принципах
- D – Dependency Inversion Principle (Критический взгляд на DIP)
- О принципах проектирования
--------------------------------------------------
Принцип инверсии зависимости (Dependency Inversion Principle – DIP):
- Модули верхнего уровня не должны зависеть от модулей нижнего уровня. И те и другие должны зависеть от абстракций.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Роберт Мартин «Принципы, паттерны и методики гибкой разработки» ([Martin2006]).
Принцип инверсии зависимостей – один из самых известных сегодня принципов проектирования, который лежит в основе популярных техник внедрения зависимостей (Dependency Injection). Однако, если посмотреть лишь на его название и описание, то будет довольно сложно понять, что же он означает. Поэтому, если спросить простых обывателей о том, что означает этот принцип, то они начнут что-то говорить о пользе интерфейсов и абстракций, и, вообще, будут путаться в показаниях.