Конструктор: всякий раз, когда у вас есть возможность сделать это (когда у вас есть доступ к конструктору, например, с вашими докладчиками, если вы используете шаблон MVP).
Поле: когда у вас нет доступа к конструктору, например, при инъекции в Activity
или Fragment
.
Метод: и @Inject
с комментариямиметод будет выполнен Dagger, как только завершится вызов конструкции.Мы обычно используем его, когда хотим передать сам экземпляр класса (this
ссылка) во вставленные зависимости.
Читать this для получения дополнительной информации и примеров вариантов использования.