Вступить в клуб →
лёгкаявопросАрхитектура приложения: DI, Clean Architecture, CQRS

В каждый сервис внедрён IServiceProvider, а зависимости достаются через GetService

public class CheckoutService(IServiceProvider sp)
{
    public async Task RunAsync(Cart cart)
    {
        var pricing = sp.GetRequiredService<IPricing>();
        var payments = sp.GetRequiredService<IPaymentGateway>();
        ...
    }
}

Чем плох такой подход?

  • Зависимости скрыты и ошибки видны только при вызове
  • GetRequiredService работает медленнее new
  • IServiceProvider нельзя внедрять через конструктор
  • Так нельзя получить singleton-сервисы

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела