Sobes.tech
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.