У меня есть несколько структур для поддержки в моем приложении.Все ссылки на одни и те же записи, и одну из них можно считать «главной» в том смысле, что она отражает фактические отношения, хранящиеся в файлах на диске.Другие структуры используются для «вызова» элементов основного проекта для заказов на покупку и работу.Я изо всех сил пытаюсь придумать шаблон, который соответствующим образом обрабатывает изменения в основных данных.
Например, следующие деревья могут ссылаться на одни и те же данные:
A
|_
B
|_
C
|_
D
|_
E
|_
B
|_
C
|_
D
A
|_
B
E
C
|_
D
A
|_
B
C
D
E
Эти вторичные структуры следуют внутренним правилам, но их общая структура обычно определяется пользователем.Во всех случаях (включая главный) любой элемент может использоваться в нескольких местах и в нескольких деревьях.Когда я добавляю дочерний элемент к любому элементу в дереве, я хочу либо автоматически построить вторичную структуру для каждого экземпляра «основного» элемента, либо, по крайней мере, объявить ситуацию пользователю и позволить ему вручную генерировать данные, необходимые длявторостепенные деревья.
Есть ли какой-либо шаблон, который может применяться к этой ситуации?Я рассматривал это как проблему представления, но она оказывается более сложной, чем когда вы смотрите на первоначальную генерацию данных.