Sobes.tech
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ă.