Middle+
De ce să folosești Binds dacă deja există Provide?
sobes.tech AI
Răspuns de la AI
@Binds este utilizat pentru a lega o interfață sau o clasă abstractă de o implementare concretă în Dagger, atunci când implementarea este deja prezentă în graful de dependențe. Acesta generează un cod mai eficient decât @Provides, deoarece nu necesită crearea unei instanțe separate a obiectului.
@Provides este utilizat pentru a crea instanțe ale obiectelor care nu pot fi furnizate prin singleton sau constructor cu injecție de dependențe. De exemplu, pentru a crea un obiect din mai multe alte dependențe sau pentru a configura o bibliotecă terță.
Utilizarea @Binds în loc de @Provides în cazuri simple "interfață -> implementare" duce la o reducere a codului generat și, ca urmare, la o compilare mai rapidă.