Sobes.tech
Middle+

Prečo používať Binds, ak už existuje Provide?

sobes.tech AI

Odpoveď od AI

@Binds se uporablja za povezovanje vmesnika ali abstraktne razreda z konkretno implementacijo v Daggerju, kadar je implementacija že prisotna v grafu odvisnosti. Ustvarja učinkovitejšo kodo kot @Provides, saj ne zahteva ustvarjanja ločenega objekta.

@Provides se uporablja za ustvarjanje instanc objektov, ki jih ni mogoče zagotoviti prek singletona ali konstruktorja z injekcijo odvisnosti. Na primer, za ustvarjanje objekta iz več drugih odvisnosti ali za konfiguracijo zunanje knjižnice.

Uporaba @Binds namesto @Provides v preprostih primerih "vmesnik -> implementacija" vodi do zmanjšanja generirane kode in posledično do hitrejše sestave.