【发布时间】:2018-06-02 09:12:14
【问题描述】:
我正在考虑在 Visual Studio 中创建一个类图。我注意到工具箱似乎只允许类之间的关联关系。
是否可以在类图中创建更强的关系,即聚合和组合关系?
另外,是否可以从代码中自动创建类图?
【问题讨论】:
标签: visual-studio uml
我正在考虑在 Visual Studio 中创建一个类图。我注意到工具箱似乎只允许类之间的关联关系。
是否可以在类图中创建更强的关系,即聚合和组合关系?
另外,是否可以从代码中自动创建类图?
【问题讨论】:
标签: visual-studio uml
好问题。
首先:Visual Studio (VS) 类设计器不是CASE Tools(如Enterprise Architect 等)。
它只是源代码的类表示。这意味着类设计器中的类始终与源代码中的类同步。如果您删除源代码中的某些属性或方法,它会与类设计器同步,反之亦然。
其次:这个问题的答案隐藏在将关联和聚合(和组合)映射到源代码中。
要将关联、聚合和组合映射到源代码,请参阅:Reference 1 和 Reference 2。
在某些情况下,无法从源代码中检测类之间的关联、聚合或组合关系。
例如,下面代码中Customer和Car之间是什么类型的关系?
public class Customer {
private String name;
private String address;
private String contactNumber;
private Car car;
}
public class Car {
private String modelNumber;
private Customer owner;
}
它可以是关联或聚合。
最后,由于上述第一个和第二个原因,Visual Studio 类图没有聚合和组合。
【讨论】: