Junior — Middle
Ինչպե՞ս է որոշվում օբյեկտի գոյության ժամկետը՝ հետո նրա ներդրման՝ Dependency Injection մեխանիզմի միջոցով։
sobes.tech AI
Պատասխան AI-ից
Dependency Injection (DI) միջոցով ստեղծված օբյեկտի կյանքի ժամկետը որոշվում է կյանքի ժամկետով (lifetime), որը սահմանվում է ծառայության գրանցման ժամանակ DI կոնտեյներում։ C#-ում (օրինակ, ASP.NET Core-ում) կա երեք հիմնական կյանքի ժամկետների տեսակներ՝
- Transient — նոր օրինակ ստեղծվում է յուրաքանչյուր ծառայության հարցում:
- Scoped — մեկ օրինակ ստեղծվում է ոլորտի համար (օրինակ՝ HTTP հարցի համար) և օգտագործվում է այդ ոլորտում:
- Singleton — մեկ օրինակ ստեղծվում է առաջին հարցում և ապրում է մինչև ծրագրի ավարտը:
Գրանցման օրինակ:
services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();
Այսպիսով, օբյեկտի կյանքի ժամկետը կախված է ընտրված կյանքի ժամկետից՝ գրանցման ժամանակ DI կոնտեյներում։