Sobes.tech
Middle+

Perché usare Binds se esiste già Provide?

sobes.tech AI

Risposta dell'AI

@Binds viene utilizzato per collegare un'interfaccia o una classe astratta con un'implementazione concreta in Dagger, quando l'implementazione è già presente nel grafo delle dipendenze. Genera un codice più efficiente rispetto a @Provides, poiché non richiede la creazione di un'istanza separata dell'oggetto.

@Provides viene utilizzato per creare istanze di oggetti che non possono essere forniti tramite singleton o costruttore con iniezione delle dipendenze. Ad esempio, per creare un oggetto da più altre dipendenze o per configurare una libreria di terze parti.

L'uso di @Binds invece di @Provides in casi semplici "interfaccia -> implementazione" porta a una riduzione del codice generato e, di conseguenza, a una compilazione più rapida.