【问题标题】:UML associationsUML 关联
【发布时间】:2011-06-12 17:09:07
【问题描述】:

我正在尝试阅读用于记录设计模式的 UML 类图。我了解聚合和组合 - 聚合使用开放菱形,组合使用填充菱形。

我在某处读到虚线意味着实例化-即,如果一个类实例化另一个类,那么您使用从实例化器到实例化的虚线。首先,组合不会像我认为组合暗示所有权那样使用它吗?

其次,我已经看到在非聚合或组合的类之间绘制的线 - 即根本没有 diamnad。这是他们记录观察者模式的示例:

http://www.dofactory.com/Patterns/PatternObserver.aspx

它们显示了从对象到观察者的一条线,没有任何菱形。这是怎么回事?

谢谢

【问题讨论】:

    标签: class uml associations diagram


    【解决方案1】:

    UML 关联用于传达两个或多个分类器(例如类)之间的关系。组合和聚合是关联的特殊形式。

    关联通常用于类图中,表示一个类的实例可以引用另一个类的实例。例如,在您链接的图中,ConcreteObserver 和 ConcreteSubject 之间的关联意味着 ConcreteObserver 实例可以具有对 ConcreteSubject 实例的引用(注意关联的方向性)。

    【讨论】:

      【解决方案2】:

      虚线表示依赖。有许多不同类型的依赖关系,其中之一是实例化。如前所述,关联是描述具有另一个类属性的类之间关系的一种方式。当涉及到类图中类之间的关系时,最好从最具体的开始,然后再进行更一般的处理。所以从组合、聚合、关联和依赖开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-27
        • 2011-12-04
        • 2012-03-27
        • 2012-03-27
        • 2016-10-09
        相关资源
        最近更新 更多