Правило, которое я использую, в общем, способствует внедрению зависимостей, за исключением случаев, когда объект может быть построен с чисто примитивными значениями и нет / минимальная вероятность того, что объект может быть заменен другой реализацией.
Однако для доменных объектов, особенно если ваши объекты не составляют модель анемичного домена , т. Е. Когда объекты являются просто мешками геттеров и сеттеров, может быть полезно иметь объекты, которые, например, , могут сохраняться в хранилище данных и т. д. Для объектов такого типа внедрение зависимостей и Salve может быть мощной комбинацией.
Guice имеет конкретное решение для типа проблемы, создаваемой такими объектами, как ваш пользовательский объект, под названием AssistedInject , хотя подобные вещи также возможны с другими облегченными контейнерами или с использованием чего-то, что использует шаблоны компоновщика или адаптера.