Sobes.tech
Middle

İ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 GetItinjectable 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.