Junior — Middle
Kas saaksite nimetada teisi objektide elutsükli tüüpe, mida kasutatakse IoC konteinerites, välja arvatud singleton?
sobes.tech AI
Vastus AI-lt
Lisaks Singleton elutsüklile, IoC konteinerites kasutatakse sageli järgmisi objektide elutsükli tüüpe:
- Transient (Ajutine): iga objekti päring loob uue eksemplari. Kasutatakse, kui on vaja värsket objekti ilma seisundita.
- Scoped (Piirkondlik): objekt luuakse üks kord määratletud piirkonna kohta, näiteks ühe HTTP-päringu kohta veebirakendustes. Pärast piirkonna lõppu objekt hävitatakse.
- Per Thread (Iga niit): objekt luuakse üks kord iga niidi kohta, kasulik mitme niidiga rakendustes.
Näide C#-s Microsoft.Extensions.DependencyInjection kasutades:
services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Ajutine
services.AddScoped<IMyService, MyService>(); // Piirkondlik