Sobes.tech
Middle

Өндүрүштө кайсы көзкарандыны киргизүү (DI) каражаттарын колдонуп жатасыз?

sobes.tech AI

AIден жооп

Эң көп колдонулган GetIt менен injectable бирикмеси.

GetIt — бул жөнөкөй кызмат издөөчү, ал башка рамкалар менен оңой интеграцияланат. Ал кызматтарды каттоо үчүн стандарттык ыкмаларды камсыз кылат:

// Синглтонду каттоо
GetIt.instance.registerSingleton<ApiService>(ApiService());

// Фабрика каттоо
GetIt.instance.registerFactory<UserRepository>(() => UserRepository());

injectable — бул код генератору, ал класстарды белгилөөгө жана GetIt үчүн кодду түзүүгө мүмкүндүк берет, бул көзкарандылык инъекциялоо процесин кыйла жеңилдетет:

// Injectable менен GetIt үчүн классты белгилөө мисалы
@lazySingleton
class ApiService {}

// GetIt үчүн кодду түзүү командасы
// flutter pub run build_runner build

Бул инструменттердин айкалышы Service Locator (GetItтен) жана Dependency Injection (автоматтык код генерациясы аркылуу injectableтен) артыкчылыктарын колдонууга мүмкүндүк берет, бул DI долбоордо көбүрөөк башкарылуучу жана кем катаал кылат.

Мен ошондой эле Provider колдонуп келгенмин, жөнөкөй учурларда же Provider негизделген күйдү башкаруу колдонулган долбоорлордо, анткени ал да DI үчүн кызмат кыла алат. Бирок чоң корпорациялык колдонмолор үчүн GetIt/injectable тандоосун артык көрөм.