Sobes.tech
Middle+

Waarom Binds gebruiken als Provide al bestaat?

sobes.tech AI

Antwoord van AI

@Binds wordt gebruikt om een interface of abstracte klasse te koppelen aan een concrete implementatie in Dagger, wanneer de implementatie al aanwezig is in de afhankelijkheidsgraf. Het genereert efficiëntere code dan @Provides, omdat het geen apart objectvoorbeeld hoeft te maken.

@Provides wordt gebruikt om instanties van objecten te maken die niet via een singleton of constructor met afhankelijkheidsinjectie kunnen worden geleverd. Bijvoorbeeld, om een object te maken uit meerdere andere afhankelijkheden of om een externe bibliotheek te configureren.

Het gebruik van @Binds in plaats van @Provides voor eenvoudige gevallen "interface -> implementatie" leidt tot minder gegenereerde code en dus snellere builds.