Combinarea șabloanelor de injectare a dependențelor — RexDac Academy

RexDac AcademyNote tehnice · Ajută să ai câteva noțiuni de bază
0%Note publicate citite · pe acest dispozitiv

Principii și arhitectură / Injectarea dependențelor

Combinarea șabloanelor de injectare a dependențelor

Note originale de SunDiaL · Vezi sursa în engleză

// Decorator
services.AddScoped<Service>();
services.AddScoped<IService>(provider =>
	new LoggedService(
		provider.GetRequiredService<Service>(),
		provider.GetRequiredService<ILogger>()
	));

// Composite
services.AddScoped<DesktopNotificationService>();
services.AddScoped<MobileNotificationService>();
services.AddScoped<INotificationService>(provider =>
    new CompositeNotificationService(
    [
        provider.GetRequiredService<DesktopNotificationService>(),
        provider.GetRequiredService<MobileNotificationService>()
    ]));