Sobes.tech
Middle+

Pourquoi utiliser Binds s'il existe déjà Provide?

sobes.tech IA

Réponse de l'IA

@Binds est utilisé pour lier une interface ou une classe abstraite à une implémentation concrète dans Dagger, lorsque l'implémentation est déjà présente dans le graphe de dépendances. Il génère un code plus efficace que @Provides, car il ne nécessite pas la création d'une instance séparée de l'objet.

@Provides est utilisé pour créer des instances d'objets qui ne peuvent pas être fournis via un singleton ou un constructeur avec injection de dépendances. Par exemple, pour créer un objet à partir de plusieurs autres dépendances ou pour configurer une bibliothèque tierce.

L'utilisation de @Binds au lieu de @Provides dans des cas simples "interface -> implémentation" conduit à une réduction du code généré et, par conséquent, à une compilation plus rapide.