Sobes.tech
Junior — Middle

Vai jūs varat nosaukt citus objektu dzīves cikla tipus, kas tiek izmantoti IoC konteineros, izņemot singleton?

sobes.tech AI

Atbilde no AI

Papildus Singleton dzīves ciklam, IoC konteineros bieži tiek izmantoti šādi objektu dzīves cikla tipi:

  • Transient (Pārtraukts): katrs pieprasījums pēc objekta izveido jaunu eksemplāru. Lietojams, kad nepieciešams svaigs objekts bez stāvokļa.
  • Scoped (Pārklājums): objekts tiek izveidots vienu reizi noteiktā pārklājumā, piemēram, vienā HTTP pieprasījumā tīmekļa lietojumprogrammās. Pēc pārklājuma beigām objekts tiek iznīcināts.
  • Per Thread (Uz pavediena): objekts tiek izveidots vienu reizi katram pavedienam, noderīgs daudzpavedienu lietojumprogrammām.

Piemērs C# ar Microsoft.Extensions.DependencyInjection:

services.AddSingleton<IMyService, MyService>(); // Singleton
services.AddTransient<IMyService, MyService>(); // Pārtraukts
services.AddScoped<IMyService, MyService>();   // Pārklājums