我正在考虑在Visual Studio中创建一个类图。我注意到工具箱似乎只允许类之间的关联关系。
是否有可能在类图中创建更强的关系,即聚合和组合关系?
此外,是否可以从代码中自动创建类图?
答案 0 :(得分:6)
很棒的问题。
首先: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类图没有聚合和组合。