在Visual Studio 2017中的类图中创建聚合和组合

w00*_*977 6 uml visual-studio

我正在考虑在Visual Studio中创建一个类图.我注意到工具箱似乎只允许类之间的关联关系.

是否有可能在类图中创建更强的关系,即聚合和组合关系?

另外,是否可以从代码中自动创建类图?

Gho*_*ani 6

好问题.

首先:Visual Studio(VS)类设计器不是CASE工具(如Enterprise Architect等).
它只是源代码的类表示.这意味着类设计器中的类始终与源代码中的类同步.如果删除源代码中的某些属性或方法,则会与类设计器同步,反之亦然.

其次:这个问题的答案隐藏在将Association和Aggregation(和Composition)映射到源代码.

要将关联,聚合和组合映射到源代码,请参阅:参考1参考2.

在某些情况下,检测源代码中的类之间的关联或聚合或组合关系是不可能的.

例如,代码之间CustomerCar之下的关系类型是什么?

public class Customer {
    private String name;
    private String address;
    private String contactNumber;

    private Car car;        
}


public class Car {
    private String modelNumber;
    private Customer owner;
}
Run Code Online (Sandbox Code Playgroud)

它可以是关联或聚合.

最后,由于上面描述的第一和第二个原因,Visual Studio类图没有聚合和组合.