2012-11-09 26 views
0

我正在处理亲子关系。可能的关系, 1.节点可以有很多儿童 2.节点可以有很多家长 3节点可以有很多孩子,很多家长亲子关系(链接列表)

当节点(可以说是儿童)有许多家长和用户选择删除其父项之一,那么我们不应该删除特定的节点。但是只要删除那个父母。

我使用的字典在C#4.0

任何设计模式,我们已经或引用的任何链接。

请分享。

谢谢

+1

对于记录,这不是一个链表。链接列表是每个节点有一个父节点和一个子节点的时候。如果只有一个根并且没有循环,这*可能是一棵树。如果不是,那么它只是一个图表。 – Servy

+0

请在这里花一些时间来看问什么是可以接受的提问方式。如果你不修改你的问题使其有意义,它将被关闭。 – nawfal

回答

1

如果我不missunderstand你的问题:

  • 你想创建一个多对多的关系。
  • 不想将使用级联删除(如果父母将被删除不影响其他节点)

为了这个目的,你可以整合一个类。 Here's一些代码:

public class Node 
{ 
    public List<Node> Children { get; set; } 
    public List<Node> Parents { get; set; } 
    public string Name { get; set; } 
    // whatever 

    public Node() 
    { 
     Children = new List<Node>(); 
     Parents = new List<Node>(); 
    } 
} 

名单父母是不是真的有必要,但它更容易访问父节点(不含搜索您的节点是一个子节点)。

+0

如果我没有误解他的问题,我想他是在问设计模式。不是实际的实现。但我不确定。 – Default