Re[2]: Архитектура приложения с несколькими клиентами и одни
От: Ocenochka  
Дата: 27.05.09 07:17
Оценка:
Здравствуйте, MozgC, Вы писали:

O>> 2. Не понятно как реализовать пользовательский интефейс:

O>> а) либо делать кнопку "Save", которую пользователь должен нажимать для применения изменений, что на мой взгляд не удобно т.к.:
O>> — пользователь может забыть это сделать;
MC>Дык отслеживайте изменения, например если клиент хочет закрыть форму или перейти на другую закладку, то проверяйте, были ли сделаны изменения, и если да — сообщайте об этом пользователю с предложением сохранить/не сохранять/отменить действие.

Не очень понимаю как отслеживать изменения. Допустим на клиенте грид с коллекцией объектов. При редактировании в отдельную коллекцию складывать отредактированные объекты? А как порядок редактирования учитывать?

O>> — возникает необходимость хранить список изменений или передавать все потенциально измененные объекты;

MC>Смотрите тему http://rsdn.ru/forum/design/3367411.flat.aspx
Автор: MozgC
Дата: 21.04.09


Прочитал. Понял не много и легче не стало. Врапперы над сущностями и их коллекциями — это круто. Не совсем представляю как это будет в случае с несколькими клиентами. DataSet то же не хотелось бы, не то, чтобы я сильно религиозен, но мозги придется перекраивать сновательно.

O>> — не ясно как разруливать конфликт при серии изменений в которых только одно изменение было неудачно — пользователь будет

O>> очень не рад вспоминать что он делал и переделывать.
MC>Не нужно все переделывать, нужно оставить введенные изменения пользователя и сообщить ему в чем конкретно ошибка.

А последовательность изменений не учитывать? Если пятая операция из 10 не прошла, то, на мой взгляд, логично откатить все 10. Соответственно, пользователю прдется переделывать все 10.

O>> б) либо на каждое действие пользователя включать курсор "песочные часы" и отправлять изменения на сервер — в принципе,

O>> не вижу проблем, но почему-то не часто его встречаю (а может реже замечаю) — если есть проблемы, хотелось бы их узнать.
MC>Это просто неправильно так делать.

Не правильно делать категоричные заявления без аргументов Ясно, что производительность и отзывчивость могут пострадать, если клиентов будет много, а сервер далеко, но есть подозрение, что дело не в этом.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.