Middle+
Koje su glavne razlike između anotacija SubComponents i Component u Daggeru?
sobes.tech АИ
Одговор од АИ
@Component
interface AppComponent {
// ...
}
@Subcomponent
interface UserComponent {
// ...
}
// Primer korišćenja Subcomponent u AppComponent
@Component(modules = AppModules.class)
interface AppComponent {
UserComponent userComponent(); // Dodavanje fabričke metode
}
Component:
- Samodostatni graf zavisnosti.
- Može biti korenski komponent ili može biti zavisnost za druge komponente (kroz
dependencies). - Kreira se pomoću fabričke metode (
create()ili builder) u anotiranoj interfejsu.
Subcomponent:
- Proširuje graf roditeljskog komponenta.
- Ima pristup svim zavisnostima koje pruža roditeljski komponent.
- Nema svoje zavisnosti (kroz
dependencies). - Kreira se od strane roditeljskog komponenta putem fabričke metode.
- Omogućava kreiranje modularnijih i upravljivijih grafova.