【问题标题】:Displaying Static References on a Class Diagrams - Visual Studio 2017在类图上显示静态引用 - Visual Studio 2017
【发布时间】:2017-10-28 17:21:57
【问题描述】:

我一直在寻找一种方法来做到这一点,但我找不到任何答案。这是我的情况的快速解释:

在我的解决方案中,有一些“管理器类”对自身具有静态引用。例如:

public static UIManager Instance;
Instance = this;

所有这些管理器类在应用程序的一开始就执行。所以在任何给定点,任何类都可以调用:

UIManager.Instance.DoSomething();

一切都很棒,直到现在我必须创建一个类图。

Visual Studio 类图功能可以使用“显示关联”选项跟踪引用。例如对于同一个 UIManager 我得到:

这是因为 UIManager 类引用了 PauseMenu 类。

但是,通过静态实例变量与 UIManager 通信的“AreaChecker”类在类图中没有显示任何链接。

该链接很重要,因为对于本示例,AreaChecker 只有在 UIManger 类在项目中时才能正常工作。

我希望能够自动创建该链接。类图是否以任何方式支持这一点?如果是这样,我该怎么做?如果没有,我应该下载另一个插件/程序才能做到这一点吗?

【问题讨论】:

  • 为什么AreaChecker 要有链接?去哪儿?在不知道代码的情况下,我们应该如何猜测?顺便说一句:您的实例名称应以小写开头,以将它们与类型区分开来。
  • 感谢托马斯的回答。如果我没有说清楚,我很抱歉。我想要一个链接,因为AreaChecker 通过静态引用InstanceUIManager 调用一个方法。像这样:UIManager.Instance.Method()。如果没有UIMangerAreaCheker 将无法正常工作。所以这就是我想要这个链接的原因,所以我可以看到真正连接的东西。对于名称,我对私有变量使用小写字母,对公共变量使用大写字母。由于Instance 是静态且公开的,因此我将其命名为大写。

标签: visual-studio uml class-diagram


【解决方案1】:

UML 没有静态变量的概念。所以不能有一个关联引用它。您可以手动添加这样的关联并以某种方式对其进行定型(例如<<static>>)。这是您需要在域的建模规则中描述的某种工作。

【讨论】:

  • 有趣...我不熟悉标准到那个程度,但直觉上它似乎会应用一个虚线箭头(依赖性)。
  • @Fuhrmanator 依赖只是最薄弱的环节。你也可以使用它。这就是链接的含义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
相关资源
最近更新 更多