Инверсия зависимостей говорит о связи между различными классами или модулями (используемый для уменьшения связанности в компьютерных программах).
Основной девиз инверсии зависимостей: Любые высшие классы всегда должны зависеть от абстракции класса, а не от деталей.
Это направлено на уменьшение связи между классами, достигается путем введения абстракции между уровнями, поэтому не заботится о реальной реализации.
Теперь давайте посмотрим, как будет выглядеть наивный дизайн без инверсии зависимостей:
Создание абстракции между разными сотрудниками и менеджером привело к очень красивому коду проектирования, который легко поддерживать и расширять: