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