Middle+
Was sind die Hauptunterschiede zwischen den Anmerkungen SubComponents und Component in Dagger?
sobes.tech KI
Antwort von AI
@Component
interface AppComponent {
// ...
}
@Subcomponent
interface UserComponent {
// ...
}
// Beispiel für die Verwendung von Subcomponent in AppComponent
@Component(modules = AppModules.class)
interface AppComponent {
UserComponent userComponent(); // Hinzufügen einer Fabrikmethode
}
Component:
- Selbstständiger Abhängigkeitsgraph.
- Ist ein Wurzelkomponente oder kann eine Abhängigkeit für andere Komponenten sein (mit
dependencies). - Wird durch eine Fabrikmethode (
create()oder builder) in einer annotierten Schnittstelle erstellt.
Subcomponent:
- Erweitert den Graph des Elternteils.
- Hat Zugriff auf alle vom Elternteil bereitgestellten Abhängigkeiten.
- Hat keine eigenen Abhängigkeiten (über
dependencies). - Wird vom Elternteil durch eine Fabrikmethode erstellt.
- Ermöglicht die Erstellung modularerer und verwaltbarer Graphen.