Sobes.tech
Junior — Middle

Akú úlohu majú komponenty Dagger pri správe injekcie závislostí?

sobes.tech AI

Odpoveď od AI

Komponenty v Dagger (Components) sú zodpovedné za vytváranie a poskytovanie závislostí. Slúžia ako kontajnery, ktoré spájajú moduly (Modules), ktoré poskytujú konkrétne objekty, s bodmi injekcie (Injection Targets).

Hlavné úlohy komponentov:

  • Určujú rozsah viditeľnosti závislostí (napríklad Singleton).
  • Poskytujú graf závislostí, ktorý spája poskytovateľov z modulov s konzumentmi.
  • Umožňujú vykonávať injekciu závislostí do tried pomocou metód inject().

Príklad:

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

Tu spravuje AppComponent vytváranie objektov z NetworkModule a ich injektovanie do MainActivity.