Junior — Middle
Care este scopul utilizării adnotării Binds în Dagger pentru injecția de dependențe?
sobes.tech AI
Răspuns de la AI
Аннотация @Binds в Dagger используется для связывания интерфейса с его реализацией без необходимости писать фабричный метод вручную. Она позволяет указать, что при запросе зависимости интерфейса нужно предоставить конкретный класс, реализующий этот интерфейс.
Преимущества @Binds:
- Компактность: не нужно писать тело метода, достаточно объявить абстрактный метод.
- Улучшенная читаемость и поддерживаемость кода.
- Позволяет Dagger генерировать более эффективный код.
Пример:
@Module
abstract class NetworkModule {
@Binds
abstract ApiService bindApiService(ApiServiceImpl impl);
}
Здесь при инжекции ApiService будет использоваться ApiServiceImpl.