我正在设计一个网站导航层次结构.它是节点树.节点代表网页.
树上的一些节点是特殊的.我需要一个名字给他们.
有多个这样的节点.每个子树都是子树的"根",页面具有不同的徽标,样式表或布局.想想不同的部门.
带有颜色编码的子树的站点地图http://img518.imageshack.us/img518/153/subtreesfe1.gif
我应该为这种类型的节点命名什么?
如何Root(具有子节点但没有父节点的节点),Node(具有子节点和父节点的节点)和Leaf(没有子节点和父节点的节点)?
然后,您可以根据需要区分树结构中的名称和位置(例如DepartmentRoot,DepartmentNode,DepartmentLeaf).
看看你的问题,你说"有些"是特殊的,在你的图表中,你有不同的节点在不同的层次上看起来不同.节点的设计可能不同,您可以通过多种方式构建树结构.例如,一个可以拥有子节点的抽象类,如果没有子节点,它是一个叶子,如果没有父节点,它是一个根,但是它可以在其生命周期中改变.或者,一个固定的类结构,其中leafs是一个特定的类类型,不能以任何方式添加子项.
如果您的设计不需要您根据位置(相对于根)区分节点,则表明您有一个用于它们的抽象类.
在这种情况下,它提出了一个问题,它有何不同?
如果它与其他地方的标准节点完全相同,但有一些样式,StyledNode怎么样?你甚至需要它是独立的(没有风格==没什么大不了的,它不会渲染).
由于我不知道如何构建树的机制,因此命名时可能需要考虑几个因素.