Вопрос проверяет умение проектировать расширяемую бизнес-логику и отделять правила от инфраструктуры.
Дополнительную бизнес-логику обычно выносят в отдельный слой или набор сервисов. Она не должна быть “размазана” по контроллерам и моделям. Часто применяются сервисы, политики или обработчики событий. Это позволяет изменять правила без переписывания основной логики.
Дополнительная бизнес-логика — это правила и условия, которые применяются поверх базовой операции и зависят от контекста.
Перед списком важно зафиксировать принцип:
бизнес-правила не должны зависеть от транспорта и хранения данных.
Сервисный слой
Отдельные классы или функции
Управляют сценарием операции
Политики и правила
Проверка ограничений
Разрешения и лимиты
Событийная модель
Реакция на завершение операции
Асинхронное расширение логики
def apply_business_rules(operation):
check_limits(operation)
apply_commission(operation)
update_status(operation)
Логики прямо в контроллерах
Условий, разбросанных по всему коду
Жёстких связей с БД или HTTP
Выделение бизнес-логики в отдельный слой делает систему гибкой, тестируемой и готовой к изменениям требований.