Sobes.tech
Middle+

Kodėl naudoti Binds, jei jau yra Provide?

sobes.tech AI

Atsakymas iš AI

@Binds Dagger'e naudojamas sąsajos arba abstraktaus klases sujungimui su konkrečia įgyvendinimu, kai įgyvendinimas jau yra priklausomybių grafe. Jis generuoja efektyvesnį kodą nei @Provides, nes nereikia kurti atskiro objekto pavyzdžio.

@Provides naudojamas objektų pavyzdžių kūrimui, kurie negali būti teikiami per singleton arba konstruktorių su injekcija. Pavyzdžiui, kuriant objektą iš kelių kitų priklausomybių arba konfigūruojant trečiosios šalies biblioteką.

@Binds naudojimas vietoj @Provides paprastais atvejais "sąsaja -> įgyvendinimas" sumažina sugeneruoto kodo kiekį ir, kaip rezultatas, leidžia greičiau kurti projektą.