【发布时间】:2016-01-31 16:28:35
【问题描述】:
【问题讨论】:
-
与其他关系有什么不同?例如,在
Coordonada和我们看不到的顶部之间。什么困扰你? -
我只需要DibujoSVG和Lienzo的关系。只能在 DibujoSVG 中创建 Lienzo 吗?不同的是,这个箭头上只有 0..1 了。
标签: java uml relationship
【问题讨论】:
Coordonada 和我们看不到的顶部之间。什么困扰你?
标签: java uml relationship
0..1 关系表示“可选” - ClassA 有对 ClassB 的引用,但该引用可能为空。
一个额外的复杂因素是哪一方拥有关系,所以你可以这样:
class Lienzo {
}
class DibujoSVG {
private Lienzo lienzo;
}
但您也可以让 Lienzo 拥有该关系,以及 DibujoSVG 实例从不共享的业务规则(但未由语言严格执行):
class Lienzo {
// Never shared.
private DibujoSVG dibujoSvg;
}
class DibujoSVG {
}
由于这仍然存在给定 DibujoSVG 实例未链接到 Lienzo 实例的可能性,因此它仍在实现 0..1 多重性。
根据我的经验,第二种是更常用的方法,因为您通常需要在对象图中向外导航而不是向内导航。
【讨论】: