Есть архитектура MVP,(тоесть всё кроме model и view на этапе проектирования) есть несколько клиентов, соответственно несколько VIEW при изменении одного из них презентатор обрабатывает ивент, меняет модель и вызывает их обновление, всё понятно до тех пор пока пользователи не начинают дёргать один и тот же контрол.
Здравствуйте, Bla-la-mut, Вы писали:
BLM>Есть архитектура MVP,(тоесть всё кроме model и view на этапе проектирования) есть несколько клиентов, соответственно несколько VIEW при изменении одного из них презентатор обрабатывает ивент, меняет модель и вызывает их обновление, всё понятно до тех пор пока пользователи не начинают дёргать один и тот же контрол.
А что конкретно непонятно и какое поведение (не на уровне MVP, а пользовательском) вы хотели бы?
Re[2]: Совместное редактирование документа через веб
От:
Аноним
Дата:
13.05.08 10:01
Оценка:
Здравствуйте, rsn81, Вы писали:
R>Здравствуйте, Bla-la-mut, Вы писали:
BLM>>Есть архитектура MVP,(тоесть всё кроме model и view на этапе проектирования) есть несколько клиентов, соответственно несколько VIEW при изменении одного из них презентатор обрабатывает ивент, меняет модель и вызывает их обновление, всё понятно до тех пор пока пользователи не начинают дёргать один и тот же контрол. R>А что конкретно непонятно и какое поведение (не на уровне MVP, а пользовательском) вы хотели бы?
Есть слайдер в интерфейсе он определяет значение интового поля в VIEW, один клиент его значение изменил — создаётся событие и о нём оповещается хендлер в презентаторе на сервере(предполагаемая технология реализации сильверлайт) — обработка состоит в следующем, смотрим что за поле поменялось и изменяем его в модели на соответствующую величину, после этого в модели так же создаётся ивент(код один и тот же для VIEW составляющей модели и клиентского интерфейса) на который реагирует презентатор — и делает рефреш этого поля у всех клиентов. Проблема следующая — если второй пользователь изменяет поле во временной интервал между созданием вышеописаных ивентов — то он создаёт новый ивент, потом его значение поля меняется на то на которое оно было изменено у другого пользователя — а потом опять на то которое он установил.
Или это вовсе не проблема ? И такое возникает редко ?
Что скажите по поводу такого сценария обработки ?
Re[3]: Совместное редактирование документа через веб
Здравствуйте, <Аноним>, Вы писали:
А>Или это вовсе не проблема ? И такое возникает редко ? А>Что скажите по поводу такого сценария обработки ?
[skipped]
И причем здесь MVP?
Есть множество вариантов и решений данных проблем, см., к примеру, как это уже давно решается в БД по словам transaction, isolation level & etc. Самое простое — блокируйте модель перед началом изменений.