Sobes.tech
Junior — Middle

Asılılıq İnteqrasiyası mexanizmi vasitəsilə tətbiq edildikdən sonra obyektin mövcudluq müddəti necə müəyyən edilir?

sobes.tech Süni İntellekt

AI-dan cavab

Dependency Injection (DI) vasitəsilə yaradılmış obyektin həyat müddəti, DI konteynerində xidməti qeydiyyata alarkən təyin olunan həyat müddəti (lifetime) ilə müəyyən edilir. C#-da (məsələn, ASP.NET Core-da) üç əsas həyat müddəti növü mövcuddur:

  • Transient — hər xidmət sorğusunda yeni nümunə yaradılır.
  • Scoped — bir nümunə sahə üçün (məsələn, HTTP sorğusu üçün) yaradılır və bu sahə daxilində təkrar istifadə olunur.
  • Singleton — ilk sorğuda bir nümunə yaradılır və tətbiqin sonuna qədər yaşayır.

Qeydiyyat nümunəsi:

services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();

Beləliklə, obyektin həyat müddəti, DI konteynerində qeydiyyat zamanı seçilən həyat müddətindən asılıdır.