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