Sobes.tech
Middle+

Kuo skiriasi SubComponents ir Component anotacijos Dagger?

sobes.tech AI

Atsakymas iš AI

@Component  
interface AppComponent {  
    // ...  
}  
  
@Subcomponent  
interface UserComponent {  
    // ...  
}  
  
// Pavyzdys, kaip naudoti Subcomponent AppComponent  viduje  
@Component(modules = AppModules.class)  
interface AppComponent {  
    UserComponent userComponent(); // Pridėti gamyklos metodą  
}  

Component:

  • Savarankiškas priklausomybių grafikas.
  • Gali būti pagrindinis komponentas arba priklausomybė kitiems komponentams (dependencies).
  • Sukuriamas naudojant gamyklos metodą (create() arba builder) anotacijoje pažymėtame interfeise.

Subcomponent:

  • Išplečia tėvų komponento grafiką.
  • Turi prieigą prie visų tėvų komponento teikiamų priklausomybių.
  • Neturi savo priklausomybių (dependencies).
  • Sukuriamas tėvų komponento per gamyklos metodą.
  • Leidžia kurti moduliariausius ir valdomus grafikus.