我正在设计一个网站导航层次结构。它是一棵节点树。
大多数节点都是页面。一些节点是链接(想想 Windows 中的快捷方式)。
大多数页面都包含 HTML 内容。一些执行代码。
我想将这些表示为这个类和抽象(MustInherit)类的集合......
这是我要存储所有这些的数据库表……
数据库表 http://img178.imageshack.us/img178/8573/nodetablefm8.gif
这就是我难过的地方。PageNodes 可能是也可能不是根。
我应该如何处理根类?
我不想拥有所有四个……
- HtmlPageNode
- 代码页节点
- Html根页面节点
- 代码根页面节点
我希望 HtmlPageNode 和 CodePageNode 类从 PageNode或从 RootPageNode 继承。那可能吗?
澄清:有多个根节点,根可能有父节点。每个都是唯一具有不同样式的子树的根。想想不同的、颜色编码的部门。(也许 root 是一个糟糕的名称选择。建议?)
更新:关于“根”名称......
我问过:是否有对应于子树的节点的特定名称?