Junior — Middle
Можете ли да наведете друге типове циклуса живота објеката који се користе у IoC контејнерима, поред singleton?
sobes.tech АИ
Одговор од АИ
Поред циклуса на живота на Singleton, во IoC контејнерите често се користат следните типови на циклус на живот на објектите:
- Transient (Трансие): секој барање за објект создава нов пример. Користи се кога е потребен свеж објект без состојба.
- Scoped (Област): објектот се создава еднаш за одредена област, на пример, за еден HTTP барање во веб апликации. По завршувањето на областта, објектот се уништува.
- Per Thread (На нишка): објектот се создава еднаш за секоја нишка, корисно за повеќенитни апликации.
Пример во C# со користење на Microsoft.Extensions.DependencyInjection:
services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Трансие
services.AddScoped<IMyService, MyService>(); // Област