Syncing two separate structures to the same master data

Posted by Mike Burton on Stack Overflow See other posts from Stack Overflow or by Mike Burton
Published on 2010-04-06T17:46:51Z Indexed on 2010/04/12 5:23 UTC
Read the original article Hit count: 367

I've got multiple structures to maintain in my application. All link to the same records, and one of them could be considered the "master" in that it reflects actual relationships held in files on disk. The other structures are used to "call out" elements of the main design for purchase and work orders. I'm struggling to come up with a pattern that deals appropriately with changes to the master data.

As an example, the following trees might refer to the same data:

A
|_
  B
  |_ 
    C
    |_
      D
|_
   E
   |_
     B
     |_
       C
       |_
         D


A
|_
   B
   E
C
|_
  D

A
|_
  B
  C
  D
  E

These secondary structures follow internal rules, but their overall structure is usually user-determined. In all cases (including the master), any element can be used in multiple locations and in multiple trees. When I add a child to any element in the tree, I want to either automatically build the secondary structure for each instance of the "master" element or at least advertise the situation to the user and allow them to manually generate the data required for the secondary trees.

Is there any pattern which might apply to this situation? I've been treating it as a view problem, but it turns out to be more complicated than that when you look at the initial generation of the data.

© Stack Overflow or respective owner

Related posts about tree

Related posts about data-structures