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

Контроллер заказов разросся до 1 500 строк с запросами к базе и расчётом скидок

В OrdersController лежат LINQ-запросы к DbContext, расчёт скидок, отправка писем и вызовы платёжного шлюза. Ту же логику скидок скопировали в фоновый обработчик импорта заказов. Тесты контроллера требуют поднимать базу.

Как стоит перераспределить ответственность?

  • Контроллеру — HTTP, логику — в сервисы или обработчики
  • Разбить контроллер на пять partial-классов
  • Перенести всю логику в сущности EF Core
  • Вынести общий код в статический класс Helpers

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

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

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

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