Sobes.tech
Junior — Middle

Tudsz más objektum életciklus típusokat megnevezni, amelyeket az IoC konténerekben használnak, a singleton mellett?

sobes.tech MI

Válasz az MI-től

Az IoC konténerekben a Singleton életciklus mellett gyakran használt objektum életciklus típusok a következők:

  • Transient (Átmeneti): minden kérés egy új példányt hoz létre. Akkor használjuk, amikor friss, állapot nélküli objektumra van szükség.
  • Scoped (Hatókör): az objektum egyszer jön létre egy meghatározott hatókörben, például egy HTTP kérés során webalkalmazásokban. A hatókör végén az objektum megsemmisül.
  • Per Thread (Szálonként): az objektum egyszer jön létre minden szálon, hasznos több szálas alkalmazásoknál.

Példa C#-ban a Microsoft.Extensions.DependencyInjection használatával:

services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Átmeneti
services.AddScoped<IMyService, MyService>();   // Hatókör