【发布时间】:2016-05-13 21:18:15
【问题描述】:
考虑一下:
据我所知,如果 1 a 与 b 相关,并且 a 知道 b 所以 a 能够向 b 发送消息,但 b 是不知道a 所以b 无法向a 发送消息。
另一方面,如果 2 a 与 b 相关,并且双方都知道对方,则双方都可以向对方发送消息。
但我的问题是,当关系不是关联而是聚合时,那该怎么办?聚合关系能否在 UML 中具有双向导航性,以便两个实例相互了解?
如果a 拥有b,因此a 知道b。 (换句话说,a 能够向b 发送消息)。但是反过来呢,b 知道a 吗?还是永远不会是这样?或者这只是没有在图中指定,这可能是两种方式?并且,如果b 必须知道a 将如何表达(我从未见过另一端带有箭头的聚合线)?
所有这些都适用于作曲吗?
与此稍微相关的另一件事我想知道,非双向关联可以有两个角色吗?
据我所知,这是不可能的,因为非双向关系是当只有一个相关实例知道另一个时的关系,而角色意味着一个实例如何感知另一个实例,所以我们需要两个实例都知道彼此能够扮演两个角色,这是正确的吗?
【问题讨论】:
标签: uml aggregation bidirectional-relation