О разделе
Раздел про связи между компонентами — кто от кого зависит, как ослабить жёсткую связность через абстракции, DIP и внедрение зависимостей (DI). Схемы и алгоритмы — сначала на псевдокоде, примеры на Java, C#, Python — как справочник.
Листинги на языках программирования (от ~8 строк) вынесены в каталог code.spirzen.ru и подгружаются через ExternalCodeEmbed. Русский псевдокод, короткие фрагменты (1–7 строк), диаграммы mermaid и интерактивные демо остаются в статьях — последние подгружаются из play.spirzen.ru. Образец интеграции — Каталог примеров кода.
| Шаг | Материал | Зачем |
|---|---|---|
| 1 | Управление зависимостями | Типы связей, прямая и обратная зависимость |
| 2 | Инверсия зависимостей (DIP) | Абстракции вместо конкретных классов |
| 3 | Внедрение зависимостей (DI) | Конструктор, контейнер, тестируемость |
Буква D в SOLID разобрана и здесь, и в статье про SOLID — читайте оба угла: принцип проектирования и практика внедрения.
Управление зависимостями в программных проектах
Класс User имеет ссылку на UserProfile как на внутреннее поле — это агрегация и прямая зависимость.
Принцип инверсии зависимостей (DIP)
Это пятый принцип SOLID. Его часто путают с DI, но это разные вещи.
Внедрение зависимостей (Dependency Injection)
Dependency Inversion - это принцип проектирования, а Dependency Injection - паттерн проектирования. DIP говорит что делать, DI - как делать.
Зависимости — итоги
Итоги раздела «Зависимости» — FAQ и краткие ответы по теме.
Зависимости — чек-лист
Чек-лист раздела «Зависимости» — вопросы для самопроверки.
Зависимости — о разделе
Подборка материалов раздела Зависимости в энциклопедии Вселенная IT.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
База программиста — Объектно-ориентированное программирование — о разделе, ORM и работа с данными — о разделе, Парадигмы и уровни абстракции — о разделе, Десктопные приложения — о разделе, Архитектура выполнения — о разделе, Основы работы с Git — о разделе.