【问题标题】:Creating Aggregation and Composition in class diagram in Visual Studio 2017在 Visual Studio 2017 的类图中创建聚合和组合
【发布时间】:2018-06-02 09:12:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: visual-studio uml


    【解决方案1】:

    好问题。

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

    其次:这个问题的答案隐藏在将关联和聚合(和组合)映射到源代码中。

    要将关联、聚合和组合映射到源代码,请参阅:Reference 1Reference 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;
    }
    

    它可以是关联或聚合。

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

    【讨论】:

    • 谢谢。 +1 参考 CASE 工具。
    • 我有一个接口和一个类。该类实现了接口中的所有方法。如何在类和接口之间添加链接?
    • 另外,假设我有一个包含 IEnumerable 的类。在类图中,类和 IEnumerable 之间有一个链接。如何在 IEnumerable 和 Order 之间添加链接?
    • @w0051977,谢谢,这是 UML 中接口和类之间的实现关系。 注意任何实现接口的类,都应该实现接口的所有方法。
    • 类图上如何添加Realization关系?我已经写好了代码。
    猜你喜欢
    • 2013-12-07
    • 2012-11-27
    • 2011-12-26
    • 2013-11-05
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多