Sobes.tech
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