Re[11]: Про обработку ошибок - типовые решения
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.04.25 15:10
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Без разницы — все-равно нужно проверить изменилась база или нет. Или изменился ли пользователь. Отож.

Не надо ничего проверять. Постарайтесь воздержаться от веществ. Хотя бы временно.

S>Вы представляете себе WinForms.

Нет, я представляю собой здравый смысл.

S>А есть же другие архитектуры — как flutter_bloc. Блок и его состояние хранятся отдельно — форму закрыли, а блок глобально зареган.

Это не flutter виноват в том, что у вас в голове каша. Форму закрыли => нет и вопроса о том, как обновить её состояние после окончания асинхронного запроса.

S>Но дело даже не в этом. Даже в том же WinForms — вы можете сделать глобальное событие, которое оповестить сразу N открытых форм. Так вот — прежде чем оповещать — нужно проверить что пользователь тот же самый.

Что такое "оповещать"? Зачем это вообще делать?

S>Боле того — запрос к серверу может быть не один а много

Вот именно.
S>- так вот, после первого мы уже можем знать что пользователь изменился и далее нет смысла делать запросы. Как оборвать процесс?
Перестаньте мыслить категориями "пользователь изменился". Забудьте об этом. Вы же видите, что
а) в вашей парадигме возникают проблемы
б) ни у кого другого таких проблем не возникает

Посмотрите на то, как сделано примерно 100% софта.
1. Как правило, нет никакой локальной базы. Нет базы — нет проблем. Банковские приложения, госуслуги, авиасейлз, покупка билетов в театр и прочее — прекрасно живут без локальных баз и фоновых запросов
2. Если есть локальная база, то, как правило, она является либо репликой фрагмента глобальной базы, либо используется для детерминистического управления состоянием. В обоих случаях всё работает вполне простым и предсказуемым образом.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.