UML非导航关系-使用或示例

UML非导航关系-使用或示例,uml,Uml,有谁能给我一个现实生活中使用的例子,或者一个双方都不可导航的关系的例子?(与下图相似) 我没有一个真实的例子,但这意味着C和D一定不认识对方。这有点反联想。与复合聚合相反,复合聚合中一个对象的死亡会迫使另一个对象的死亡 警察在两个审讯室里抓两个嫌疑犯。他们有一个协会,但都不必知道另一个协会的状态。非常复杂,但这是我能想到的最好的方法。根据UML标准(第11.5.3.1节关于关联语义): 可导航性意味着实例在运行时参与链接 (关联实例)可以从 关联另一端的实例。精密机构 实现这种高效访问的方法是特

有谁能给我一个现实生活中使用的例子,或者一个双方都不可导航的关系的例子?(与下图相似)


我没有一个真实的例子,但这意味着
C
D
一定不认识对方。这有点反联想。与复合聚合相反,复合聚合中一个对象的死亡会迫使另一个对象的死亡


警察在两个审讯室里抓两个嫌疑犯。他们有一个协会,但都不必知道另一个协会的状态。非常复杂,但这是我能想到的最好的方法。

根据UML标准(第11.5.3.1节关于关联语义):

可导航性意味着实例在运行时参与链接 (关联实例)可以从 关联另一端的实例。精密机构 实现这种高效访问的方法是特定于实现的。 如果一端不可通航,则从另一端进入可能或可能 不可能,如果可能,则可能没有效率

示例1

让我们想象一下
UserAccount
CLearTextPassword
之间的关系:

  • 用户帐户未将密码存储在clear中。它存储该密码的散列。使用加密质量的散列,您无法从
    UserAccount
    导航到
    ClearTextPassword
  • 相反,使用已知的
    ClearTextPassword
    无法直接找到
    UserAccount
    。首先必须计算散列。最后,导航是可能的,但效率很低,因为计算可能很繁重
示例2

让我们想象一个安全的分类账。该分类账中的每笔
交易
都由委托的
用户
记录。但是分类账不会保留对
用户的任何引用:它只会保留交易的数字签名。我知道乍一看这听起来很愚蠢,但想象一下

因此,
用户
事务
之间存在关联:

  • 在任何时候,您都可以验证特定的
    事务
    ,如果它是由给定用户记录的(存在关联)
  • 您无法从
    用户
    导航到他/她记录的
    事务
    :您丢失了仅由用户控制的私钥,无法计算事先不知道的事务哈希,因此无法重新计算签名(这是唯一的连接元素)
  • 相反,您无法从
    事务
    导航到
    用户
    :您可以找到的唯一方法是使用所有用户的公钥验证签名,以找到匹配的签名。这是可行的,但肯定会非常低效
很好的例子。谢谢:)