【问题标题】:How should I denote static classes in UML?我应该如何在 UML 中表示静态类?
【发布时间】:2012-12-03 08:47:04
【问题描述】:

所以我做了一些关于如何在 UML 中表示静态方法和类的研究。我在thesetwo 页面上发现静态方法应该通过下划线来表示,但是将类显示为静态的正确方法是什么?

【问题讨论】:

    标签: c# uml


    【解决方案1】:

    将一个类标记为静态是一种非常底层的信息,我们通常不会将其放入UML图中。 UML 1.0 和 2.0 为设计人员/开发人员提供了一些灵活性,可以在适合您的受众/团队的情况下修改约定。

    您可以在该类中添加注释,或使用<<static>>(用于接口)之类的内容。

    【讨论】:

      【解决方案2】:

      我只会使用刻板印象<<static>>

      【讨论】:

      • 是的,这就是我一直在做的,但我想知道是否有某种标准化的方式来表示......
      【解决方案3】:

      IMO 静态类(如在 C# 中)甚至不应该在 OO 设计中使用。静态类不能被实例化,因此实际上不是关于 UML 语义的类。

      您可以将该类标记为“叶”(无子类)并添加一个不允许非静态成员的约束。这类似于 C# static 关键字的含义。

      【讨论】:

      【解决方案4】:

      静态类通常通过在类名下划线来表示。这是给静态特性下划线的约定,所以在类名下划线表示静态类是有道理的。

      【讨论】:

      • 是的,但是...带下划线的名称表示一个类实例(如“学习 UML 2.0”,第 102 页中所述)
      • 下划线是针对静态功能而不是类。见章节。 UML 2.5 的 9.4.4
      猜你喜欢
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多