Предположим, у меня есть клиент, который отправляет некоторую команду RunLogicCommand с вводом на сервер. Сервер отвечает выводом, который представляет собой отчет для проверки пользователем. На данный момент на сервере ничего не сохранилось. Затем клиент отправляет обратно весь отчет в отдельной команде SaveCommand, которая затем сохраняет данные отчета.
Мне некоторые части этого обмена кажутся ненужными. То есть после того, как пользователь проверил отчет, он не видит необходимости отправлять весь отчет обратно на сервер для сохранения. Возможно, есть вероятность, что некоторые конфиденциальные данные также могут быть представлены здесь?
Каков типичный подход в этом случае?
Я вижу два варианта:
- Пользователь просто отправляет RunLogicCommand с Input AGAIN с некоторым флагом, указывающим, что он должен сохраняться. Мне не очень нравится эта опция, так как logi c может быть сложным и занять некоторое время для вычисления.
- кэшируйте отчет на сервере (или другой службе или даже в БД), а затем просто отправьте клиенту команду SaveCommand с идентификатором отчета для сохранения.
Есть ли проблемы с любым из этих подходов? Есть ли лучший, более типичный подход?
Спасибо!