Sobes.tech
Middle+

Тафовутҳои асосии байни таърифҳои SubComponents ва Component дар Dagger чист?

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).
  • Әке компоненті арқылы фабрика әдісімен жасалады.
  • Көбірек модульдік және басқарылатын графиктер құруға мүмкіндік береді.