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