Sobes.tech
Junior — Middle

Puoi nominare altri tipi di cicli di vita degli oggetti utilizzati nei contenitori IoC, oltre al singleton?

sobes.tech AI

Risposta dell'AI

Oltre al ciclo di vita Singleton, nei contenitori IoC vengono spesso utilizzati i seguenti tipi di ciclo di vita degli oggetti:

  • Transient (Transitorio): ogni richiesta di oggetto crea una nuova istanza. Utilizzato quando si necessita di un oggetto fresco senza stato.
  • Scoped (Scope): l'oggetto viene creato una volta per scope definito, ad esempio per una richiesta HTTP nelle applicazioni web. Dopo la fine dello scope, l'oggetto viene distrutto.
  • Per Thread (Per thread): l'oggetto viene creato una volta per thread, utile per applicazioni multithread.

Esempio in C# con Microsoft.Extensions.DependencyInjection:

services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Transiente
services.AddScoped<IMyService, MyService>();   // Scoped