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

Отменённый заказ смогли оплатить, потому что проверку статуса забыли в одном сервисе

У Order только публичные свойства с set. Изменение статуса выполняют OrderService, PaymentService, AdminService и импорт, каждый со своими проверками. В новом PromoService проверку забыли, и отменённые заказы начали переходить в статус «оплачен».

Как защитить правила изменения статуса?

  • Перенести переходы в методы сущности с проверкой правил
  • Добавить проверку статуса в PromoService
  • Написать регламент для разработчиков
  • Проверять статус триггером в базе данных

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

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

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

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