TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.4K subscribers
Post #8415 1.28K
Field vs Constructor Injection в Java: ошибка объектного дизайна или вопрос синтаксиса?

Знаю, знаю... Прочитав заголовок, хочется голосом волка из мультфильма "Жил был пёс" сказать - "Шо, опять?" . Ведь битва этих подходов давно закончилась и разработчики Spring уже поставили точку.

Но недавняя публикация в одном довольно крупном Telegram-канале заставила меня вернуться к этому вопросу. В качестве главных аргументов против field injection там приводились лишь сложность изоляции в тестах и неудобство создания экземпляров для unit-тестов.

И хотя с этими пунктами не поспоришь, у многих разработчиков и не только начинающих, остаются вопросы: каковы реальные последствия для самого объекта? Можно ли считать его полноценным сразу после создания new? И почему все современные рекомендации так настаивают на конструкторах?

Поиск ответов показал мне, что аргумент о тестах лишь верхушка айсберга. В глубине, куда я Вас сегодня приглашаю заглянуть, скрываются куда более фундаментальные вопросы принципов объектно-ориентированного дизайна, гарантий Java Memory Model и уважения к жизненному циклу объекта.


Читать: https://habr.com/ru/articles/983344/?utm_campaign=983344

@a_cup_of_java | Другие наши каналы
More from @a_cup_of_java
  1. Sep 20, 2026Docker Compose с JDK 26: зависимости в контейнерах, Java локально В примере Maven-приложен…
  2. Sep 20, 2026Как перевести Dev Services на новый API Quarkus 3.25 В Quarkus 3.25 появился новый API для…
  3. Sep 20, 2026Hibernate 7: как заменить устаревший @GenericGenerator При миграции на Hibernate 7 аннотац…
  4. Sep 19, 2026Как собрать движок отказоустойчивых сценариев на Java и SQLite Persistasaurus показывает у…
  5. Sep 19, 2026Как построить многоуровневую защиту LLM-вызовов в Spring AI 2.0 В Spring Boot 4.1 защиту в…
  6. Sep 19, 2026В JDK 27 и 28 ускорили операции Curve25519 С JDK 27 build 14 изменения внутренних структур…
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 →