Junior — Middle
Můžete uvést jiné typy životních cyklů objektů používané v IoC kontejnerech, kromě singletonu?
sobes.tech AI
Odpověď od AI
Kromě životního cyklu Singleton se v IoC kontejnerech často používají následující typy životního cyklu objektů:
- Transient (Přechodný): každý požadavek na objekt vytvoří novou instanci. Používá se, když je potřeba čerstvý objekt bez stavu.
- Scoped (Ohraničený): objekt je vytvořen jednou na definovaný rozsah, například na jeden HTTP požadavek ve webových aplikacích. Po ukončení rozsahu je objekt zničen.
- Per Thread (Na vlákno): objekt je vytvořen jednou na vlákno, užitečné pro vícevláknové aplikace.
Příklad v C# s použitím Microsoft.Extensions.DependencyInjection:
services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Přechodný
services.AddScoped<IMyService, MyService>(); // Ohraničený