UML不可导航关系-用法或示例 [英] UML Non-Navigable Relationships - Use or Example
本文介绍了UML不可导航关系-用法或示例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
谁能给我一个现实生活中的用法或(全部?)末端是不可导航的?(与下图相似)
推荐答案
根据uml标准(关于关联语义的第11.5.3.1节):
可导航性意味着实例在运行时参与链接 (关联实例)可从以下位置高效访问 关联另一端的实例。精确的机械装置 实现这种有效访问的方式是具体实现的。 如果一端不可导航,则从另一端访问可能或可能 不可能,如果是,可能效率不高。
示例1
让我们想象一下UserAccount
和CLearTextPassword
之间的关系:
- 用户帐户未以明文形式存储密码。它存储该密码的哈希。使用加密质量的哈希,您无法从
UserAccount
导航到ClearTextPassword
。 - 相反,对于已知的
ClearTextPassword
,您无法直接找到UserAccount
。您首先必须计算散列。最后,导航是可能的,但效率很低,因为计算可能很重。
示例2
让我们想象一个安全的分类账。该分类账中的每一个Transaction
都由一个委托的User
记录。但分类账不会保留对User
的任何引用:它只会保留交易的数字签名。我知道乍一看这听起来很愚蠢,但想象一下voting machine that must guarantee anonymity of votes...
因此User
和Transaction
之间存在关联:
- 在任何时间点,您都可以验证特定
Transaction
是否由给定用户录制(是否存在关联)。 - 您不能从
User
导航到他/她记录的Transactions
:您错过了仅由用户控制的私钥,您无法计算事先不知道的交易的哈希,因此无法重新计算签名(这是唯一的连接元素)。 - 相反,您不能从
Transaction
导航到User
:您可以找到的唯一方法是用所有用户的公钥验证签名,找到匹配的签名。这是可行的,这肯定是非常低效的。
这篇关于UML不可导航关系-用法或示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文