【发布时间】:2014-09-28 14:07:21
【问题描述】:
我在两个对象(A 和 B)之间有复合关系(A 由许多 B 组成)。现在另一个类 (C) 与类“B”具有一对多的关联关系。我希望能够从类 (C) 中检索类 (A) 的所有实例。 如何在不创建冗余关联的情况下执行此操作?由于“C”基本上有一个“B”列表,我不能只遍历所有这些,询问你的“A”是什么,并最终返回一个“A”列表到“C”。
我真的希望有人能理解这一点,并且不会觉得它完全令人困惑!
谢谢
更新:
数据集有一个已定义变量的列表。一个活动可以从每个数据集中选择一个变量子集并赋予它们一些属性,因此使用关联类。现在,如果我希望能够从 Activity 实例中检索它注册的数据集,我如何在 UML 和对象实现中实现这一点?
【问题讨论】:
-
Java 伪代码或 ascii 艺术类图或类图图片将使您的问题更具可读性(或者只是从现实世界的隐喻中给出 A、B、C 名称)。您是否询问how to model association navigability 或如何在代码中实现UML 设计以便您可以轻松地从一个指针跳转到另一个?
-
新个人资料,还不能上传图片!我希望我更新的描述更有意义
-
A=Dataset, B=variable, C=Activity, Attribute 将 B 和 C 绑定在一起,您想知道如何在 UML 中绘制它以便 B->C->A 可导航吗?顺便说一句:为什么你不能只遍历“Bs”列表?
-
问题是我是否需要从活动中定义一个“检索数据集”的方法。我应该允许什么样的关系而不是多余的?通过在活动中定义数据集的集合或只是返回数据集的方法(使用依赖关系?)进行关联,在后一种情况下,每次调用 getDatasets 时迭代变量不被视为重复过程?
-
在实现中,您可以将查询 C_Activity.getAllDatasets() 的结果缓存在 C_Activity 内部的 List
类型的私有成员变量中。此缓存将通过自动导航原始关系来计算,并在某些关系更改时失效。我认为现在谈论您的代码而不是 UML 绘图会更好。您能否编辑您的问题并向我们展示 4 个 A_Dataset、B_variable、C_Activity、Attribute 类的一些(例如 Java)代码?
标签: uml data-modeling class-diagram