TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.13K subscribers
Post #297 3.77K
​​Binds vs Provides в Dagger 2
#разработка

Какая разница между Binds и Provides в Dagger 2? Это один из самых частых вопросов на собеседованиях, связанных с Dagger 2. И мне бы хотелось попробовать дать вам более-менее полное объяснение, которое я нашел и использую при ответе.

Первое отличие заключается в том, каким образом каждая из них «предоставляет» зависимости.
Provides может содержать в своем методе больше, чем один параметр, и возвращает реализацию того элемента, который нам нужен.
Binds же может принимать только один параметр, причем этот параметр — реализация того класса, который нам нужен, а возвращаемым параметром является интерфейс данного класса.
Кроме того, можно добавить, что с Provides используется обычный метод, а с Binds — абстрактный.

Вторым отличием является количество генерируемого кода в проекте.
Если посмотреть на то, что генерируется при добавлении этой аннотации, то видно добавление MyModule_GetInjectClassFactory , которой нет при использовании Binds, но есть при добавлении Provides.

Подробнее про сравнение этих двух аннотаций можно почитать в этой статье.

Есть ли еще какие-то отличия?
Будет здорово, если вы добавите их в комментариях.
More from @android_live
  1. Oct 6, 2026Git --delete-merged На днях узнал про любопытную команду в Git — --delete-merged . Суть пр…
  2. Oct 5, 2026Почему Android-эмулятор жрёт 8 ГБ? На днях попался репозиторий с CLI-тулзой, которая обеща…
  3. Sep 29, 2026Post #1130
  4. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  5. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  6. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
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 →