Вопрос проверяет понимание базового доменного моделирования и умение выделять устойчивые сущности в backend-системах.
В таких системах почти всегда есть пользователи, операции и состояние этих операций. Обычно выделяют сущности для источника операции, получателя и самого факта действия. Дополнительно появляются сущности для статусов, истории и аудита. Набор может отличаться, но базовые роли сохраняются.
Ключевые сущности — это устойчивые объекты предметной области, без которых невозможно корректно описать и обработать операции между пользователями.
Перед перечислением важно отметить: сущности отражают бизнес-смысл, а не конкретную реализацию.
Пользователь
Инициатор или участник операции
Может выступать в разных ролях
Операция
Факт действия (перевод, запрос, изменение состояния)
Содержит сумму, тип, время, статус
Состояние операции
Текущее положение в жизненном цикле
Используется для контроля и восстановления
История операций
Последовательность изменений
Аудит / лог
Для разборов и расследований
Контекст операции
Метаданные, влияющие на обработку
Выделение сущностей:
Упрощает бизнес-логику
Делает систему расширяемой
Помогает избегать дублирования логики
Корректно выделенные сущности формируют каркас системы и позволяют безопасно развивать бизнес-логику без переписывания ядра.