Back to questions
Junior — Middle
70
Можете объяснить, что такое module в Dagger и как оно используется для предоставления зависимостей?
Companies where asked
GrowFood
Answer from AI
sobes.tech AI
В Dagger @Module — это класс, который содержит методы, помеченные аннотацией @Provides. Эти методы описывают, как создавать и предоставлять зависимости, которые потом Dagger может внедрять в другие части приложения.
Модуль помогает централизовать логику создания объектов, особенно если их создание сложное или требует параметров. Например, если нужно создать объект с настройками или получить экземпляр из сторонней библиотеки.
Пример модуля:
@Module
public class NetworkModule {
@Provides
OkHttpClient provideOkHttpClient() {
return new OkHttpClient.Builder().build();
}
@Provides
Retrofit provideRetrofit(OkHttpClient client) {
return new Retrofit.Builder()
.client(client)
.baseUrl("https://api.example.com")
.build();
}
}
Затем этот модуль подключается к компоненту Dagger, который отвечает за внедрение зависимостей.