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