保持TreeView和节点分开

时间:2011-02-08 01:55:18

标签: design-patterns

我有一个关于良好应用程序设计的问题,这个问题一直让我保持好几天。可以将其描述为:

  • 我有一个由节点组成的树结构,其中包含对其子节点的引用。
  • 我现在想在TreeView中显示该结构(我是将实现TreeView的人)。
  • 我不希望节点“知道”有一个TreeView,使我能够将这两个组件分开。

那么我在哪里存储信息是否扩展节点(此信息不是节点本身的一部分)。

有关如何以干净的方式实现这一点的想法吗?

谢谢,
Konne

2 个答案:

答案 0 :(得分:1)

创建一个TreeViewModal类,它绑定视图和实际模态。显然这被称为Model/View/ViewModel pattern。 TreeView的Here is an example。这两个链接都有C#中的代码,但很容易移植到任何语言。

答案 1 :(得分:0)

如果每个节点都有一个唯一的哈希密钥,您可以将哈希表添加到TreeView以包含扩展节点的密钥。