Junior — Middle
Jaki jest cel używania adnotacji Binds w Dagger do wstrzykiwania zależności?
sobes.tech AI
Odpowiedź od AI
Аннотация @Binds в Dagger используется для связывания интерфейса с его реализацией без необходимости писать фабричный метод вручную. Она позволяет указать, что при запросе зависимости интерфейса нужно предоставить конкретный класс, реализующий этот интерфейс.
Преимущества @Binds:
- Компактность: не нужно писать тело метода, достаточно объявить абстрактный метод.
- Улучшенная читаемость и поддерживаемость кода.
- Позволяет Dagger генерировать более эффективный код.
Пример:
@Module
abstract class NetworkModule {
@Binds
abstract ApiService bindApiService(ApiServiceImpl impl);
}
Здесь при инжекции ApiService будет использоваться ApiServiceImpl.