Таким образом у меня есть структура вроде этого:Правильный способ создать/обновить/удалить иерархические данные
Widget:
Component 1:
Component 2:
Component 3:
...
Component n:
Я построение веб-приложения ASP.NET MVC, что в рамках своей функциональности позволит пользователь создайте объект Widget и назначьте объекты Component (которые имеют несколько свойств) как «дети» объекта Widget. Пользователи могут не иметь Компонентов или могут добавить 50. Кроме того, они могут редактировать объект Widget и произвольно удалять или изменять свойства Component.
Все в приложении работает, но я не доволен тем, как это структурировано. В настоящий момент я отправляю все компоненты со всеми их свойствами. Я удаляю все компоненты, связанные с этим виджетами, а затем перечисляю каждый компонент и повторно добавляю его.
... Но я не доволен этим решением. Для некоторых виджетов с большим количеством компонентов (скажем, 500) этот процесс может занять много времени, даже если пользователь только изменил один компонент. Но альтернатива (отслеживание создает/обновляет/удаляет по каждому компоненту) кажется очень болезненной для сборки.
Я знаю, что я могу сделать это лучше, поэтому мне интересно узнать, какие шаблоны могут быть применены для решения этой проблемы (вообще говоря) и особенно в контексте веб-приложений.
Спасибо ... это полезно - да, это звучит лучше (и не слишком болезненно). Там есть дерьмовая загрузка javascript, которая управляет некоторыми видами редактирования (для каждого компонента), поэтому редактирование кода может быть упражнением в расстройстве. –