Sobes.tech
Middle+

Mik a fő különbségek a SubComponents és a Component annotációk között a Dagger-ben?

sobes.tech MI

Válasz az MI-től

@Component  
interface AppComponent {  
    // ...  
}  
  
@Subcomponent  
interface UserComponent {  
    // ...  
}  
  
// Példa a Subcomponent használatára az AppComponent-ben  
@Component(modules = AppModules.class)  
interface AppComponent {  
    UserComponent userComponent(); // Gyártómetódus hozzáadása  
}  

Component:

  • Önálló függőségi gráf.
  • Gyökérkomponens lehet, vagy más komponensek függősége (a dependencies segítségével).
  • Gyártómetódus (create() vagy builder) segítségével jön létre egy annotált interfészben.

Subcomponent:

  • Kiterjeszti a szülő komponens gráfját.
  • Hozzáférést biztosít minden, a szülő komponens által nyújtott függőséghez.
  • Saját függőségei nincsenek (dependencies).
  • A szülő komponens által a gyártómetódus segítségével jön létre.
  • Lehetővé teszi modulárisabb és kezelhetőbb gráfok létrehozását.