Backbone.js — синхронизация модели с сервером — конфликты
Есть ли какой-то общепризнанный метод разрешения конфликтов при синхронизации данных модели backbone.js с сервером? Например 2 человека редактируют одну и туже книгу (каждый в своем браузере), оба меняют поле «автор» и плюс-минус одновременно сохраняются на сервер…
Спасибо за совет, я знаю об этом патерне. Мой вопрос больше был о каких-то готовых инструментах, которые отслеживают на каких полях произошел конфликт, пытаются его резол где это возможно (например люди редактировали разные поля одной и той же сущности), как-то об этом сообщают чтобы backbone модель отреагировала соответственно…
Разрешение конфликтов сильно зависит от предметной области, и чаще всего справиться с ним может только пользователь. Автоматическое слияние для случая изменения разных полей возможно, но часто не имеет смысла. Например, если в приложении со списком задач один пользователь меняет название задачи, а другой в тот же момент устанавливает флаг «выполнено», то при таком подходе в базе останется запись, не соответствующая действительности.
Лучшее, что можно сделать в этой ситуации — при возникновении конфликта сказать об этом пользователю, показать ему старую и новую записи и дать возможность разрешить конфликт.