Junior — Middle
Vai jūs varat nosaukt citus objektu dzīves cikla tipus, kas tiek izmantoti IoC konteineros, izņemot singleton?
sobes.tech AI
Atbilde no AI
Papildus Singleton dzīves ciklam, IoC konteineros bieži tiek izmantoti šādi objektu dzīves cikla tipi:
- Transient (Pārtraukts): katrs pieprasījums pēc objekta izveido jaunu eksemplāru. Lietojams, kad nepieciešams svaigs objekts bez stāvokļa.
- Scoped (Pārklājums): objekts tiek izveidots vienu reizi noteiktā pārklājumā, piemēram, vienā HTTP pieprasījumā tīmekļa lietojumprogrammās. Pēc pārklājuma beigām objekts tiek iznīcināts.
- Per Thread (Uz pavediena): objekts tiek izveidots vienu reizi katram pavedienam, noderīgs daudzpavedienu lietojumprogrammām.
Piemērs C# ar Microsoft.Extensions.DependencyInjection:
services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Pārtraukts
services.AddScoped<IMyService, MyService>(); // Pārklājums