Sobes.tech
Middle

Ի՞նչ մոտեցում եք նախատեսում օգտագործել կախվածությունների ներդրման (DI) համար։

sobes.tech AI

Պատասխան AI-ից

Ես պլանավորում եմ օգտագործել Dagger2/Hilt (եթե նախագիծը Kotlin-ով է՝ օգտագործելով Gradle buildSrc/convention plugins կամ միգրացիայի հնարավորությամբ), քանի որ դա գործադուլի ֆակտո ստանդարտն է, տրամադրում է կախվածությունների գրաֆի ստատիկ ստուգում և ունի բարձր կատարողականություն:

Նախընտրած այլընտրանքները, որոնք ես նույնպես դիտարկում եմ՝ կախված նախագծի չափից և ընտրված ստեքից:

  • Koin: Ավելի թեթև, հարմար է փոքր և միջին Kotlin նախագծերի համար, չի պահանջում կոդի գեներացիա:
  • Kodein-DI: Այլ Kotlin-ի համար DI գրադարան, հիմնված DSL-ի վրա:

Ընտրությունը կոնկրետ մոտեցման՝ կախված է՝

  1. Նախագծի լեզվից: Kotlin (Koin, Kodein) կամ Java (Dagger2):
  2. Նախագծի չափից: Մեծ նախագծերի համար նախընտրելի է Dagger2/Hilt՝ ստատիկ ստուգման պատճառով:
  3. Կատարողական պահանջներից: Dagger2/Hilt, որպես կանոն, ավելի արագ են աշխատում ժամանակի ընթացքում:
  4. Թիմի փորձից: Եթե թիմը արդեն աշխատել է որոշակի գրադարանի հետ, դա կարող է արագացնել զարգացման գործընթացը:

Իդեալում, ես ձգտում եմ օգտագործել Hilt՝ որպես առաջարկվող մոտեցում նոր Android նախագծերի համար, որոնք օգտագործում են Jetpack։