关联的数据驱动视图与关联的行为驱动视图

时间:2013-12-04 15:18:57

标签: associations uml class-diagram

UML user guide第5章开始,我发现了以下内容:


模拟结构关系,

  • 对于每对类,如果需要从一个对象导航到另一个对象,请指定两者之间的关联。这是data-driven view of associations

  • 对于每对类,如果一个类的对象需要与另一个类的对象交互而不是作为操作的参数,请指定两者之间的关联。这更像是behavior-driven view of associations


这是我对第一种关联类型的理解,data-driven view of associations通过以下示例:一个类,User,有三个属性,其中一个是另一个类,Address。

class User {
   String firstName;
   String lastName;
   Address address;
}

class Address {
      String streetName;
      int    streetNumber;
      String postalCode;

}

以上情况的UML图是:

enter image description here

请注意,User的第三个属性转换为关联结束(据我所知,因为它是地址类类型)

我的问题:

1-这是data-driven view of associations的正确解释吗?

2- behavior-driven view of associations怎么办?有一个例子可以解释吗?

1 个答案:

答案 0 :(得分:0)

数据驱动的关联是与聚合,多样性,导航性和所有这些事物的正常关联。它们定义明确。

在显示属于一个类的函数并将其他类实例用作参数或结果时使用的行为驱动关联。这里也属于任何复杂的连接,例如“监听”,“寄存器”等。它们被显示为依赖关系,可能还有一些额外的字母,例如<< u>> (用法)。它们没有严格定义,不能用于代码生成。

对“UML用户指南”这几个字不太相信 - 所有这些都只是书籍而不是UML标准的一部分。他们不是圣人,并且充满了作者的个人观点(以及唉,谬误)。在UML标准中没有任何地方禁止使用Dependencies在某些参数列表中显示其他类的使用。