我的应用程序中有多个结构要维护。所有链接都指向相同的记录,其中一个可以被视为“主”,因为它反映了磁盘上文件中的实际关系。其他结构用于“调出”主要设计的元素以用于购买和工作订单。我正在努力想出一个能够适当处理主数据变化的模式。
例如,以下树可能引用相同的数据:
A
|_
B
|_
C
|_
D
|_
E
|_
B
|_
C
|_
D
A
|_
B
E
C
|_
D
A
|_
B
C
D
E
这些二级结构遵循内部规则,但它们的整体结构通常由用户决定。在所有情况下(包括主),任何元素都可以在多个位置和多个树中使用。当我将子项添加到树中的任何元素时,我想要为“master”元素的每个实例自动构建二级结构,或者至少将该情况通告给用户并允许他们手动生成所需的数据。次要树木。
是否有任何可能适用于这种情况的模式?我一直将它视为一个视图问题,但事实证明,当你查看数据的初始生成时,它会更加复杂。
答案 0 :(得分:0)
树实现应该是一个很好的起点。主副本将是完整的树。
副本中的节点可以是包含数据的复合对象,也可以是对主树中相应节点的引用。
当在其中一个副本中的节点上添加子节点或进行任何其他修改时,该节点可以向主树发送消息,其中包含主树中相应节点的引用以及更改的详细信息。 / p>
然后,主人会修改自己并更新其他副本。
事件处理可能会变得棘手,因为您必须确保不会使整个过程循环。