Sobes.tech
Junior — Middle

Explique o que são os componentes na biblioteca Dagger e como eles são utilizados para injeção de dependências

sobes.tech IA

Resposta da IA

No Dagger, um componente é uma interface que conecta os provedores de dependências (módulos) e os consumidores (classes onde as dependências são injetadas). Os componentes definem quais dependências estão disponíveis para injeção e gerenciam seu ciclo de vida.

O uso de componentes permite:

  • Determinar quais objetos podem ser obtidos através da injeção de dependências.
  • Conectar módulos que fornecem implementações específicas.
  • Gerenciar o escopo de visibilidade das dependências (por exemplo, singleton).

Exemplo:

@Component(modules = NetworkModule.class)
public interface AppComponent {
    void inject(MainActivity activity);
}

Aqui, o AppComponent conecta o módulo NetworkModule e permite injetar dependências em MainActivity.