Я хочу исследовать существующие решения для конкретного шаблона программного обеспечения, который, по моему мнению, должен быть очень распространенным в современном мире отключенного программного обеспечения.Мне не повезло, что я ищу в Интернете способ описать его, и мне интересно, есть ли способ описать шаблон, о котором я не знаю.
Дизайн, который я ищу, этоописано ниже:
Я пытаюсь спроектировать (объектно-ориентированное) приложение, в котором несколько удаленно связанных элементов управления (элементов пользовательского интерфейса) необходимо перерисовать как можно быстрее.У меня пока нет определенного языка или цели, но ради аргумента, скажем, каждый элемент управления нарисован на элементе Canvas на веб-странице.Для любого конкретного экземпляра этого элемента управления внешний вид основан на довольно сложном объекте данных (модели), который может иметь несколько сотен тысяч свойств.
Из-за количества элементов управления, которые потенциально существуют, и из-за сложности объекта данных, я собираюсь синхронизировать каждую удаленную копию объекта данных, отправляя исправления по проводам (а не отправляя целыеобъект данных каждый раз).Затем я хотел бы использовать те же данные исправления / преобразования, чтобы перерисовать только те части элемента управления, которые необходимо перекрасить.
Для механизма исправления я представляю себе что-то похожее на Операционное Преобразование для объектов (а не для простого текста).Затем я использовал бы ту же информацию о исправлении в системе рисования, чтобы определить, какие части элемента управления необходимо перекрашивать при любом обновлении.
Я предполагаю, что это очень распространенный сценарий, и я не хочу полностью перестраивать колесо здесь (хотя я понимаю, что механизм рисования будет зависеть от конкретных алгоритмов рисования).
Есть ли какое-то искусство для такого рода механизма синхронизации и рисования удаленных объектов, который я могу искать в Интернете?Это распознанная модель?