我正在设计一个网站导航层次结构。它是节点树。节点代表网页。
树上的一些节点很特殊。我需要一个名字。
有多个这样的节点。每个子树都是子树的“根”,页面具有不同的徽标,样式表或布局。想想不同的部门。
site map with color-coded sub-trees http://img518.imageshack.us/img518/153/subtreesfe1.gif
我应该为这种类型的节点命名什么?
答案 0 :(得分:6)
Root(具有子节点但没有父节点的节点),Node(具有子节点和父节点的节点)和Leaf(没有子节点和父节点的节点)如何?
然后,如果需要,您可以通过树结构(例如DepartmentRoot,DepartmentNode,DepartmentLeaf)中的名称和位置进行区分。
看看你的问题,你说“有些”是特殊的,在你的图表中,你有不同的节点在不同的层次上看起来不同。节点的设计可能不同,您可以通过多种方式构建树结构。例如,一个抽象类可以拥有子节点,如果没有子节点,它是一个叶子,如果没有父节点,它是一个根,但是它可以在其生命周期中改变。或者,一个固定的类结构,其中叶子是不能以任何方式添加子项的特定类类型。
如果您的设计不需要根据位置(相对于根)区分节点,则表明您有一个用于它们的抽象类。
在这种情况下,它提出了一个问题,它有何不同?
如果它与其他地方的标准节点完全相同,但有一些样式, StyledNode 怎么样?你甚至需要它是独立的(没有风格==没什么大不了,它没有呈现)。
由于我不知道如何构建树的机制,因此在命名时可能会考虑几个因素。
答案 1 :(得分:2)
您要找的是“部分”。它是整体的一部分,里面也有相同的东西。
所以,你有节点,它有子节点和父节点,你有SectionNodes这些特殊子树的根。
答案 2 :(得分:1)
PageTemplate 如何体现其子女拥有自己的布局,CSS等的事实?
答案 3 :(得分:1)
AreaNode
答案 4 :(得分:1)
所以,听起来你正在收集类别。节点是此类别的入口点。那么“TopCategoryNode”,“CategoryEntry”然后对于som来说,是什么呢?或者,如果你想分成更多,比如“CategoryCSS”,“CategoryLayout”等等?
这是一种通用的,但你明确指出存在“类别”,并且它们包含多个子节点或子主题。
答案 5 :(得分:1)
保持树的类比,并在这种情况下提示部门等
考虑类heirarchies,Root可能是Branch的一个特例,这是Node的特例,Leaf的特例。分支/节点的区别是您可以根据自己的特殊情况制作的。