Sobes.tech
Junior — Middle

Vysvětlete, co jsou komponenty v knihovně Dagger a jak se používají pro injekci závislostí

sobes.tech AI

Odpověď od AI

V Daggeru je komponenta rozhraní, které spojuje poskytovatele závislostí (moduly) a spotřebitele (třídy, do nichž jsou závislosti vkládány). Komponenty určují, jaké závislosti jsou dostupné pro injekci, a řídí jejich životní cyklus.

Použití komponent umožňuje:

  • Určit, jaké objekty lze získat prostřednictvím dependency injection.
  • Propojovat moduly, které poskytují konkrétní implementace.
  • Spravovat rozsah viditelnosti závislostí (například singleton).

Příklad:

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

Zde komponenta AppComponent spojuje modul NetworkModule a umožňuje vkládání závislostí do MainActivity.