Sobes.tech
Middle+

Kādi ir galvenie atšķirības starp SubComponents un Component anotācijām Dagger?

sobes.tech AI

Atbilde no AI

@Component  
interface AppComponent {  
    // ...  
}  
  
@Subcomponent  
interface UserComponent {  
    // ...  
}  
  
// Piemērs, kā izmantot Subcomponent AppComponent  iekšienē  
@Component(modules = AppModules.class)  
interface AppComponent {  
    UserComponent userComponent(); // Pievienot fabrikas metodi  
}  

Component:

  • Pašpietiekams atkarību grafiks.
  • Var būt galvenais components vai atkarība citiem components (dependencies).
  • Izveidojas ar fabrikas metodi (create() vai builder) anotētā interfeisā.

Subcomponent:

  • Paplašina vecāka komponenta grafiku.
  • Tam ir piekļuve visām vecāka komponenta nodrošinātajām atkarībām.
  • Nav savas atkarības (dependencies).
  • Izveido vecāka komponenta caur fabrikas metodi.
  • Atļauj veidot modulārākus un pārvaldāmākus grafikus.