Back to questions
СБЕР
Junior — Middle
72
Какова цель использования аннотации Binds в Dagger для зависимости инжекции?
Companies where asked
trendtech
Answer from AI
sobes.tech AI
Аннотация @Binds в Dagger используется для связывания интерфейса с его реализацией без необходимости писать фабричный метод вручную. Она позволяет указать, что при запросе зависимости интерфейса нужно предоставить конкретный класс, реализующий этот интерфейс.
Преимущества @Binds:
- Компактность: не нужно писать тело метода, достаточно объявить абстрактный метод.
- Улучшенная читаемость и поддерживаемость кода.
- Позволяет Dagger генерировать более эффективный код.
Пример:
@Module
abstract class NetworkModule {
@Binds
abstract ApiService bindApiService(ApiServiceImpl impl);
}
Здесь при инжекции ApiService будет использоваться ApiServiceImpl.