Наполнение дерева

From
Alex Cvetkov (2:5030/1334)
To
ALL
Date
2002-12-08T16:48:57Z
Area
RU.ALGORITHMS
Hello ALL!

    Передо мной встала такая вот задача.
Есть несколько источников данных. Есть дерево, кторое создаеться по информации из этих источников. Источники могут подключаться и отключаться во время существования дерева (эти изменения должны отражаться на дереве). Над деревом могут производиться некоторые действия (добавляться и удаляться узлы и листья) и эти изменения должны менять источники данных.
Вопрос заключаеться в следующем: как лучше устроить всю систему.

У меня есть несколько вариантов, но все они имеют недостатки.
1) При добавлении или удалении источника пересоздавать дерево заново. В узлах и листьях хранить информацию о том из какого тсточника они взялись.
   Куча времени на перестроение.
2) Не строить дерево. При запросе подузлов у узла опрашивать все источники данных.
   Часть узлов может повторяться в нескольких источниках данных. Система получиться уневерсальная, но слишком громоздкая.
3) Завести в каждом узле листенер который будет вызываться при добавлении/удалении источника данных.
   Чуть быстрее чем в первом пункте но всеравно както некрасиво.

Может ктонибуть знает как лучше зделать, или есть другие вареанты которые я упустил?

                                           Alex Cvetkov

--- Клиент морга
 * Origin: Life suxx (2:5030/1334)