Sobes.tech
Junior — Middle

Qual é o papel dos componentes Dagger na gestão da injeção de dependências?

sobes.tech IA

Resposta da IA

Os componentes no Dagger (Components) são responsáveis por criar e fornecer dependências. Eles atuam como contêineres que conectam módulos (Modules), que fornecem objetos específicos, com os pontos de injeção (Injection Targets).

Principais funções dos componentes:

  • Definem o escopo das dependências (por exemplo, Singleton).
  • Fornecem um grafo de dependências, conectando os provedores dos módulos aos consumidores.
  • Permitem realizar a injeção de dependências em classes através dos métodos inject().

Exemplo:

@Component(modules = [NetworkModule::class])
interface AppComponent {
    fun inject(activity: MainActivity)
}

Aqui, o AppComponent gerencia a criação de objetos a partir do NetworkModule e os injeta na MainActivity.