Sobes.tech
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).
  • შექმნილია მშობელი კომპონენტის მიერ ფაბრიკის მეთოდით.
  • საშუალებას აძლევს შექმნათ უფრო მოდულური და მართვადი გრაფები.