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