Warum Binds verwenden, wenn es bereits Provide gibt?
sobes.tech KI
Antwort von AI
@Binds wird verwendet, um eine Schnittstelle oder abstrakte Klasse in Dagger mit einer konkreten Implementierung zu verbinden, wenn die Implementierung bereits im Abhängigkeitsgraph vorhanden ist. Es generiert effizienteren Code als @Provides, da es keine separate Instanz des Objekts erstellen muss.
@Provides wird verwendet, um Instanzen von Objekten zu erstellen, die nicht über ein Singleton oder einen Konstruktor mit Abhängigkeitsinjektion bereitgestellt werden können. Zum Beispiel, um ein Objekt aus mehreren anderen Abhängigkeiten zu erstellen oder eine Drittanbieterbibliothek zu konfigurieren.
Die Verwendung von @Binds anstelle von @Provides in einfachen Fällen "Schnittstelle -> Implementierung" führt zu weniger generiertem Code und somit zu schnelleren Builds.