Ответ
Модуль в Dagger — это класс, помеченный аннотацией @Module, который предоставляет зависимости (объекты) через методы с аннотацией @Provides. Модули группируют логику создания зависимостей и могут включать другие модули через @Module(includes = [...].
Пример:
@Module
class NetworkModule {
@Provides
fun provideOkHttpClient(): OkHttpClient {
return OkHttpClient.Builder().build()
}
}
Ключевые моменты:
- Модули определяют, как создавать зависимости.
- Могут зависеть от других модулей (
includes). - Методы
@Providesмогут иметь параметры — Dagger автоматически внедрит их, если они доступны в графе зависимостей.