【问题标题】:UML Class Diagram and GenericsUML 类图和泛型
【发布时间】:2011-06-14 18:42:20
【问题描述】:

你如何在类图中表示一个泛型类或接口?

我真的在寻找两件事:

  1. 一个是如果我使用笔和纸来建模通用 Java 类。
  2. 其次,有哪些 uml 工具支持通用类/接口。

谢谢!

【问题讨论】:

    标签: java uml


    【解决方案1】:

    通常泛型表示为分类器的模板参数。这是 NetBeans UML 插件中的示例:

    【讨论】:

    • 在哪里可以获得 Netbeans UML 插件?
    • @Karthik 你可以在这里得到它netbeans.org/downloads/zip.html,见 netbeans-6.9.1-201007282301-ml-uml.zip
    【解决方案2】:

    UML 将它们称为参数化类型 - 参见示例 here

    至于工具,我知道MagicDraw 支持它们。

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

        一个是如果我用笔和纸来建模泛型 java 类。

        AFAIK 在 UML 中没有对此的特定支持,最好的可能是使用像 <<generic>> 这样的构造型。但是在纸上用笔,没有什么比写MYType<T> 更简单的了:-)

        其次,有哪些 uml 工具支持通用类/接口。

        到目前为止,我看到的所有 UML 工具都支持刻板印象。当然,支持的程度可能会有所不同;但是,因为除了餐巾我几乎不使用任何 UML 工具 :-) 我在这里没有太多比较的基础。

        【讨论】:

        • 请查看其他答案。 UML 确实对泛型有特定的支持,而不必求助于原型。 hth.
        • éter:不用担心,很高兴为您提供帮助 :-)
        【解决方案5】:

        我真的在寻找两件事:一是如果我用笔和纸来建模通用 Java 类。

        克雷格·拉曼 (Craig Larman) 的《应用 UML 和模式 3e》一书中有教师幻灯片,其中包含书中的图形。以下来自图15.5:

        其次,有哪些 uml 工具支持泛型类/接口。

        我喜欢PlantUML,它将produce以下图片来自

        skinparam style strictuml
        participant sales as "sales:\nArrayList<Sale>"
        

        对于类图,produces

        skinparam style strictuml
        hide empty members
        class "ArrayList<Sale>" as S
        class Store {
        Store()
        }
        Store "1" -> "1" S : "            sales  "
        

        【讨论】:

        【解决方案6】:

        在 Netbeans 中使用的对象称为“派生分类器”。这是 Vitalii Fedorenko 的回答中用于 MyGeneric 的对象

        【讨论】:

          【解决方案7】:

          一个是如果我用笔和纸来建模泛型 java 类。

          是泛化箭头,基类,如果是抽象的,应该用斜体写。也可以用刻板印象来标记。

          其次,有哪些 uml 工具支持泛型类/接口。

          使用http://staruml.io/。非常好的工具,您可以在一个地方管理所有项目图。在右上角,有对象/图表树,因此您可以在不同的图表中使用相同的类(其他对象)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多