Junior — Middle
Оё шумо метавонед намудҳои дигаре аз давраҳои ҳаёти объектҳоро, ки дар контейнерҳои IoC истифода мешаванд, ба ғайр аз singleton номбар кунед?
sobes.tech AI
Ҷавоб аз AI
Извън жизнената цикъл на Singleton, в IoC контейнерите често се използват следните типове жизнен цикъл на обектите:
- Transient (Преходен): всяко искане за обект създава нов екземпляр. Използва се, когато е необходим свеж обект без състояние.
- Scoped (Обхват): обектът се създава веднъж за определен обхват, например за един HTTP заявка в уеб приложения. След приключване на обхвата, обектът се унищожава.
- Per Thread (На нишка): обектът се създава веднъж за всяка нишка, полезно за многонитови приложения.
Пример в C# с използване на Microsoft.Extensions.DependencyInjection:
services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Преходен
services.AddScoped<IMyService, MyService>(); // Обхват