Кроме того, что не раздувается конструктор, какие еще есть причины использовать inject вместо параметра конструктора?

Inject позволяет получать зависимости в DI-функциях и инициализаторах полей, уменьшает связанный с наследованием boilerplate и даёт удобную типизацию токенов.

Короткий ответ

Что ответить на собеседовании

Inject позволяет получать зависимости в DI-функциях и инициализаторах полей, уменьшает связанный с наследованием boilerplate и даёт удобную типизацию токенов.

Подробный разбор

Ответ с пояснениями

Inject позволяет получать зависимости в DI-функциях и инициализаторах полей, уменьшает связанный с наследованием boilerplate и даёт удобную типизацию токенов.

При этом зависимость по-прежнему требует provider и активного injection context. Вызов в произвольном обработчике не становится допустимым только потому, что это функция. Выигрыш должен быть в ясности кода; constructor injection остаётся полноценным способом описать зависимости.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее