Junior — Middle
შეგიძლიათ ჩამოთვალოთ Dagger-ის სტრუქტურის ძირითადი ელემენტები, რომლებიც დამოკიდებულებების მართვაში გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
დაგების სტრუქტურის ძირითადი ელემენტები დამოკიდებულებების მართვისთვის:
- @Module — კლასი, რომელიც უზრუნველყოფს დამოკიდებულებებს @Provides-ის მიერ მონიშნული მეთოდების მეშვეობით.
- @Provides — ანოტაცია მეთოდებისთვის მოდულში, რომლებიც ქმნიან და აბრუნებენ დამოკიდებულების ობიექტებს.
- @Component — ინტერფეისი, რომელიც აკავშირებს მოდულებს და დამოკიდებულების ინექციის ადგილებს, პასუხისმგებელია ინექციის კოდის გენერირებაზე.
- @Inject — ანოტაცია, რომელიც გამოიყენება კონსტრუქტორებზე, ველებზე ან მეთოდებზე, რათა მიუთითოს, სად და რა დამოკიდებულებები უნდა იყოს ინექცირებული.
მაგალითი:
@Module
class NetworkModule {
@Provides
OkHttpClient provideOkHttpClient() {
return new OkHttpClient();
}
}
@Component(modules = NetworkModule.class)
interface AppComponent {
void inject(MainActivity activity);
}