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