TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1783 2.32K
Представь, что ты на собеседовании по Spring. Тебя спрашивают: Dependency Inversion vs Inversion of Control vs Dependency Injection. Это одно и то же? Как бы ты ответил?

Dependency Inversion Principle (DIP) это принцип из SOLID. Суть в том, что высокоуровневые модули не должны зависеть от низкоуровневых. Оба должны зависеть от абстракций. Это делает код гибким и удобным для тестирования.

Inversion of Control (IoC) это архитектурный стиль. Обычно твой код сам управляет созданием и связями объектов. При IoC этот контроль передаётся фреймворку или контейнеру. Он решает, когда и как связать объекты.

Dependency Injection (DI) это конкретный способ реализовать IoC. Фреймворк подсовывает нужные зависимости в класс, чаще всего через конструктор или сеттер.

Можно представить это как уровни:

- DIP задаёт правило проектирования
- IoC меняет то, кто управляет созданием объектов
- DI это инструмент, которым фреймворки делают этот перенос

Итог для собеседования: DIP = принцип, IoC = стиль, DI = техника.

👉 Java Portal
  • 👍 17
  • 🔥 8
  • ❤ 4
More from @java_iibrary
  1. Sep 29, 2026Большинство Java-разработчиков используют эти термины каждый день. Удивительно, но многие…
  2. Sep 28, 2026💡 Java: не создавайте ресурсоёмкие объекты, пока они действительно не понадобятся. ✅ Иниц…
  3. Sep 28, 2026Проблема в продакшене. Приложение зависло. Вы запускаете: jstack <pid> Через несколько сек…
  4. Sep 27, 2026Java-разработчики, CopyOnWriteArrayList создаёт копию всего внутреннего массива при каждом…
  5. Sep 27, 2026Java-разработчики, ConcurrentHashMap потокобезопасен. Но он не блокирует всю коллекцию при…
  6. Sep 26, 2026Во многих приложениях есть такой эндпоинт. Фронтенд удаляет JWT после того, как пользовате…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →