Middle+
Por que usar Binds, se já existe Provide?
sobes.tech IA
Resposta da IA
@Binds é usado para vincular uma interface ou classe abstrata a uma implementação concreta no Dagger, quando a implementação já está presente no gráfico de dependências. Ele gera um código mais eficiente do que @Provides, pois não requer criar uma instância separada do objeto.
@Provides é usado para criar instâncias de objetos que não podem ser fornecidas através de um singleton ou construtor com injeção de dependências. Por exemplo, para criar um objeto a partir de várias outras dependências ou para configurar uma biblioteca de terceiros.
O uso de @Binds em vez de @Provides para casos simples "interface -> implementação" leva à redução do código gerado e, como consequência, a uma compilação mais rápida.