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.