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.