Sobes.tech
Junior — Middle

IoC konteynerlərində istifadə olunan obyektlərin digər həyat dövrləri növlərini, singleton-dan başqa, adlandıra bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

IoC konteynerlərində Singleton həyat dövrü xaricində, tez-tez aşağıdakı obyektlərin həyat dövrü növləri istifadə olunur:

  • Transient (Keçici): hər obyekt tələbi yeni nümunə yaradır. Durumu saxlamadan təzə obyektə ehtiyac olduqda istifadə olunur.
  • Scoped (Əhatə dairəsi): obyekt müəyyən edilmiş əhatə dairəsi üçün bir dəfə yaradılır, məsələn, veb tətbiqlərdə bir HTTP tələbi üçün. Əhatə dairəsi bitdikdən sonra obyekt məhv edilir.
  • Per Thread (İş parçası üçün): obyekt hər iş parçası üçün bir dəfə yaradılır, çox iş parçası olan tətbiqlər üçün faydalıdır.

C# nümunəsi ilə Microsoft.Extensions.DependencyInjection istifadə edərək:

services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Keçici
services.AddScoped<IMyService, MyService>();   // Əhatə dairəsi