Sobes.tech
Junior — Middle

Asılılıqların injeksiyası üçün Dagger istifadə etmək SOLID-in hansı prinsipinə aiddir?

sobes.tech Süni İntellekt

AI-dan cavab

Dagger istifadə etmək, SOLID-dən Asılılıq İnversiyası Prinsipi (D) ilə əlaqədardır.

Bu prinsip deyir ki:

  • Yuxarı səviyyəli modullar aşağı səviyyəli modullara birbaşa bağlı olmamalıdır.
  • Hər ikisi abstraksiyalara bağlı olmalıdır.
  • Abstraksiyalar detallara bağlı olmamalıdır, detallər abstraksiyalara bağlı olmalıdır.

Dagger bu prinsipi həyata keçirməyə kömək edir və abstraksiyalar (interfeyslər və ya abstrakt siniflər) vasitəsilə avtomatik asılılıq injeksiyası mexanizmi təmin edir, bu da komponentlərin əlaqəliliyini azaldır və kodun test ediləbilərliyini və çevikliyini artırır.

Dagger istifadə nümunəsi:

@Component
interface AppComponent {
    void inject(MyActivity activity);
}

class MyActivity {
    @Inject
    MyRepository repository;

    void onCreate() {
        DaggerAppComponent.create().inject(this);
        repository.loadData();
    }
}

Burada, MyActivity birbaşa MyRepository yaratmır, əvəzinə asılılıq injeksiyası vasitəsilə alır, bu da Asılılıq İnversiyası Prinsipinə uyğundur.