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ą.