5. Dependency inversion principle
Принцип инверсии зависимости
- модули высокого уровня должны зависеть от модулей более низкого уровня
- все они должны зависеть от абстракции
- абстракции не должны зависеть от деталей
- детали должны зависеть от абстракций