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