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
dependenciessegí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.