Junior — Middle
Care este rolul modulelor în Dagger și de ce sunt necesare pentru injecția de dependențe?
sobes.tech AI
Răspuns de la AI
Модули в Dagger служат для предоставления зависимостей, которые нельзя или неудобно создавать автоматически через конструкторы. Они содержат методы с аннотацией @Provides, которые описывают, как создать конкретный объект. Это позволяет централизованно управлять созданием и конфигурацией зависимостей, например, объектов с нестандартным конструктором или тех, которые требуют параметров.
Без модулей Dagger не смог бы знать, как создавать некоторые типы объектов, особенно если они не имеют аннотированных конструкторов или требуют сложной логики создания.
Пример модуля:
@Module
public class NetworkModule {
@Provides
OkHttpClient provideOkHttpClient() {
return new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.build();
}
}