Middle+
Dagger-ში SubComponents და Component ანოტაციების ძირითადი განსხვავებები რა არის?
sobes.tech AI
პასუხი AI-სგან
@Component
interface AppComponent {
// ...
}
@Subcomponent
interface UserComponent {
// ...
}
// AppComponent-ის შიგნით Subcomponent-ის გამოყენების მაგალითი
@Component(modules = AppModules.class)
interface AppComponent {
UserComponent userComponent(); // ფაბრიკის მეთოდის დამატება
}
Component:
- დამოუკიდებელი დამოკიდებულებების გრაფი.
- შეიძლება იყოს ძირითადი კომპონენტი ან დამოკიდებულება სხვა კომპონენტებისთვის (
dependencies). - შექმნილია ფაბრიკის მეთოდით (
create()ან builder) ანოტირებული ინტერფეისში.
Subcomponent:
- განაგრძობს მშობელი კომპონენტის გრაფიკს.
- აქვს წვდომა მშობელი კომპონენტის მიერ მიწოდებულ ყველა დამოკიდებულებაზე.
- არ აქვს საკუთარი დამოკიდებულებები (
dependencies). - შექმნილია მშობელი კომპონენტის მიერ ფაბრიკის მეთოდით.
- საშუალებას აძლევს შექმნათ უფრო მოდულური და მართვადი გრაფები.