Sobes.tech
Junior — Middle

Expliquez la finalité et le fonctionnement de l'annotation @Binds dans le contexte de l'injection de dépendances.

sobes.tech IA

Réponse de l'IA

L'annotation @Binds est utilisée dans Dagger (Injection de Dépendances) pour lier une interface à sa mise en œuvre sans avoir besoin d'écrire des méthodes de fabrique.

Elle est appliquée dans des modules abstraits et permet de spécifier que lorsqu'une dépendance de l'interface est demandée, une implémentation concrète doit être fournie.

Exemple :

@Module
abstract class NetworkModule {
    @Binds
    abstract ApiService bindApiService(ApiServiceImpl impl);
}

Ici, ApiService est une interface et ApiServiceImpl est sa mise en œuvre. Dagger créera automatiquement un lien pour fournir ApiServiceImpl lorsque ApiService est demandé.

Cela simplifie le code, le rend plus lisible et évite d'écrire des méthodes avec @Provides si l'implémentation existe déjà.