Sobes.tech
Middle+

Dagger-də SubComponents və Component qeydləri arasındakı əsas fərqlər nədir?

sobes.tech Süni İntellekt

AI-dan cavab

@Component  
interface AppComponent {  
    // ...  
}  
  
@Subcomponent  
interface UserComponent {  
    // ...  
}  
  
// AppComponent-də Subcomponent istifadəsi nümunəsi  
@Component(modules = AppModules.class)  
interface AppComponent {  
    UserComponent userComponent(); // Fabrika metodunun əlavə olunması  
}  

Component:

  • Öz-özünə yetərli asılılıq qrafiki.
  • Əsas komponent ola bilər və ya digər komponentlər üçün asılılıq ola bilər (dependencies).
  • Anotasiya olunmuş interfeysdə fabrika metodu (create() və ya builder) vasitəsilə yaradılır.

Subcomponent:

  • Valideyn komponentin qrafikini genişləndirir.
  • Valideyn komponent tərəfindən təmin olunan bütün asılılıqlara çıxış imkanı verir.
  • Öz asılılıqları yoxdur (dependencies vasitəsilə).
  • Valideyn komponent tərəfindən fabrika metodu ilə yaradılır.
  • Daha modulyar və idarə olunan qrafiklər yaratmağa imkan verir.