gpt4 book ai didi

.NET 抽象类

转载 作者:行者123 更新时间:2023-12-03 23:46:04 27 4
gpt4 key购买 nike

我正在设计网站导航层次结构。它是一棵节点树。

大多数节点都是页面。一些节点是链接(想想 Windows 中的快捷方式)。

大多数页面都包含 HTML 内容。一些执行代码。

我想将它们表示为类和抽象 (MustInherit) 类的集合……

class diagram

这是我要存储所有这些的数据库表......

database table http://img178.imageshack.us/img178/8573/nodetablefm8.gif

这就是我难住的地方。 PageNodes 可能是也可能不是根。

我应该如何处理根类?

class diagram

我不想拥有全部四个……

  • HtmlPageNode
  • 代码页节点
  • HtmlPageNode
  • 代码PageNode

我希望 HtmlPageNode 和 CodePageNode 类从 PageNode 或 RootPageNode 继承或者。这可能吗?


澄清:有多个根节点,根可能有父节点。每个都是具有不同样式的子树的根。想想不同的、颜色编码的部门。 (也许 root 是一个糟糕的名字选择。有什么建议吗?)


更新:关于“Root”名称...
我问过:Is there a specific name for the node that coresponds to a subtree?

最佳答案

如前所述,复合模式可能是一个很好的解决方案。

如果这对您不起作用,将 Root 定义为接口(interface)并根据需要应用它可能会更简单 - 如果合适的话。

当然,这不会让您为 Root 提供任何实现...
如果 Root 必须有实现,你可以使用装饰器模式。

关于.NET 抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/84263/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com