İstehsalda hansı asılılıq injeksiyası (DI) alətlərindən istifadə edirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
Ən çox istifadə etdiyim GetIt və injectable ilə birləşdirilmişdir.
GetIt sadə bir Xidmət Axtarıcıdır və digər çərçivələrlə asanlıqla inteqrasiya olunur. O, xidmətlərin qeydiyyatı üçün standart metodlar təqdim edir:
// Singleton qeydiyyatı
GetIt.instance.registerSingleton<ApiService>(ApiService());
// Fabrika qeydiyyatı
GetIt.instance.registerFactory<UserRepository>(() => UserRepository());
injectable isə kod generatorudur və sinifləri annotasiya etməyə və GetIt üçün kod yaratmağa imkan verir, bu da asılılıq inyeksiyası prosesini xeyli sadələşdirir:
// Injectable ilə GetIt üçün sinif annotasiyası nümunəsi
@lazySingleton
class ApiService {}
// GetIt üçün kod yaratmaq üçün əmr
// flutter pub run build_runner build
Bu alətlərin birləşməsi həm Service Locator (GetItdən), həm də Dependency Injection (avtomatik kod nəsil ilə injectable) üstünlüklərindən istifadə etməyə imkan verir, layihədə DI-ni daha idarəolunan və az səhvli edir.
Mən sadə hallarda və ya artıq Provider əsasında vəziyyət idarəetməsi istifadə olunan layihələrdə Provider istifadə etmişəm, çünki o da DI üçün istifadə oluna bilər. Ancaq daha böyük korporativ tətbiqlər üçün GetIt/injectable cütlüyünü üstün tuturam.