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.