Sobes.tech
Junior — Middle

Wyjaśnij, czym są komponenty w bibliotece Dagger i jak są używane do wstrzykiwania zależności

sobes.tech AI

Odpowiedź od AI

W Daggerze, komponent to interfejs, który łączy dostawców zależności (moduły) i konsumentów (klasy, do których wstrzykiwane są zależności). Komponenty określają, które zależności są dostępne do wstrzyknięcia i zarządzają ich cyklem życia.

Użycie komponentów pozwala:

  • Określić, jakie obiekty można uzyskać przez wstrzykiwanie zależności.
  • Połączyć moduły, które dostarczają konkretne implementacje.
  • Zarządzać zakresem widoczności zależności (np. singleton).

Przykład:

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

Tutaj, AppComponent łączy moduł NetworkModule i umożliwia wstrzykiwanie zależności do MainActivity.