【问题标题】:Understanding why the extends arrow points in the opposite direction理解为什么延伸箭头指向相反的方向
【发布时间】:2012-04-06 20:48:01
【问题描述】:

在类图中,我通常会看到 ClassA 扩展 ClassB 之类的东西,其中箭头指向 ClassA。例如,这里是http://bit.ly/GFakDu。这一直让我感到困惑。为什么箭头不指向ClassB?

【问题讨论】:

    标签: uml computer-science class-diagram


    【解决方案1】:

    UML 在这些图中的使用是错误的。箭头必须是一个三角形(不是一个开放的),它必须指向另一个方向,它被称为实现而不是工具。因此,如果我没有完全误解图表,作者(图表或创建它们的软件)根本不知道如何正确使用 UML。

    this diagram(刚刚通过谷歌搜索找到)中,您可以看到实现(实现)接口“SiteSearch”的“SearchService”类的正确可视化。

    the next diagram 中,几个类被(专门化,扩展)类“Account”泛化。

    this site 上,您可以获得概览(乍一看似乎正确)。如果你想确定你应该查看the specification(在那里找到pdf下载)。

    【讨论】:

    • 为什么叫它实现和泛化?
    • UML 的作者试图使用更通用的术语。并且“实现”可能与编程语言中 UML 模型的实现相混淆。虽然 UML 的“扩展”并不总是正确的。一个更通用的类甚至可以被一个子类限制。
    • 在同一张图中,描述 Client 与 Visitor 和 Element 对象的关系的正确术语是什么?
    • err,那又是不正确的 UML,恐怕。它应该是一个简单的箭头,例如 -> 而不是一个填充的箭头来描述一个只能在一个方向上导航的关联(也称为参考)。我应该为一个漂亮的图表寻找更长的时间......
    • 客户元素的关系呢?该箭头已填充而不是虚线
    【解决方案2】:

    我认为这里的混淆源于人们对英语语法微妙之处的联系方式的差异。

    有些人可能倾向于将“不方便”但 UML 标准的标记“扩展”完成为“扩展”,而其他人在查看或设计图表时会将其完成为“扩展”。因此解释上的差异。

    【讨论】:

      猜你喜欢
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多