Sobes.tech
Junior — Middle

Môžete uviesť iné typy životných cyklov objektov používaných v IoC kontajneroch, okrem singleton?

sobes.tech AI

Odpoveď od AI

Okrem životného cyklu Singleton sa v IoC kontajneroch často používajú nasledujúce typy životného cyklu objektov:

  • Transient (Prechodný): každý požiadavok na objekt vytvorí novú inštanciu. Používa sa, keď je potrebný čerstvý objekt bez stavu.
  • Scoped (Rozsah): objekt je vytvorený raz na definovaný rozsah, napríklad na jeden HTTP požiadavok vo webových aplikáciách. Po ukončení rozsahu je objekt zničený.
  • Per Thread (Na vlákno): objekt je vytvorený raz na vlákno, užitočné pre viacvláknové aplikácie.

Príklad v C# s použitím Microsoft.Extensions.DependencyInjection:

services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Prechodný
services.AddScoped<IMyService, MyService>();   // Rozsah