Sobes.tech
Middle+

Zašto koristiti Binds ako već postoji Provide?

sobes.tech АИ

Одговор од АИ

@Binds se koristi za povezivanje interfejsa ili apstraktne klase sa konkretnom implementacijom u Dagger-u, kada implementacija već postoji u grafu zavisnosti. On generiše efikasniji kod od @Provides, jer ne zahteva kreiranje zasebnog objekta.

@Provides se koristi za kreiranje instanci objekata koje ne mogu biti obezbeđene putem singletona ili konstruktora sa injekcijom zavisnosti. Na primer, za kreiranje objekta od više drugih zavisnosti ili za konfiguraciju spoljne biblioteke.

Korišćenje @Binds umesto @Provides u jednostavnim slučajevima "interfejs -> implementacija" dovodi do smanjenja generisanog koda i, kao posledica, do bržeg sastavljanja.