Sobes.tech
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);
}