Sobes.tech
Junior — Middle

Dagger-ში რა ანოტაცია გამოიყენება გარეგანი დამოკიდებულების ინექციისთვის კომპონენტში?

sobes.tech AI

პასუხი AI-სგან

Dagger კომპონენტში გარე დამოკიდებულების ჩასმისთვის გამოიყენება ანოტაცია @Component.Builder ან @Component.Factory, ხოლო დამოკიდებულების გადაცემისთვის — ანოტაცია @BindsInstance.

მაგალითად, თუ საჭიროა გადმოცემა ობიექტის, რომელიც შექმნილია Dagger-ის გარეთ, შეგიძლიათ გამოიყენოთ @BindsInstance კომპონენტის ბილდერში:

@Component
interface MyComponent {
    void inject(MyClass target);

    @Component.Builder
    interface Builder {
        @BindsInstance
        Builder externalDependency(ExternalDependency dep);
        MyComponent build();
    }
}

ამ გზით, @BindsInstance საშუალებას აძლევს ჩააგდოს გარე დამოკიდებულება კომპონენტის დამოკიდებულების გრაფში.