我在网上看了很多。但仍然困惑,可能有人可以为我澄清。
我有两个问题:
C
是班级B
的一部分。如果类A
需要通过类C
中的getter获取类B
(即B.getClassC())。假设A
和B
之间没有其他关系。那么我应该在类图中绘制什么? A-B协会?还是A-C协会?B
是类A
(组合)的一部分。 A与班级C
有关联。现在B
正在使用C
作为参数。那么我是否需要指定B
和C
之间的关系?和什么关系? (用途?)理论上,问题1中的A和B之间存在关系,问题2中的B和C之间存在关系。但如果我在类图中指定了所有这些关系,则可能导致图表更复杂。
提前致谢。
答案 0 :(得分:0)
对于在UML中显示它的正确方法,我不会太在意。 UML并未声明您必须在图表中显示每个关系,这会导致混乱。
您正在谈论的“软”关系,我只是不在图中,或者只是在图中显示为依赖关系。这意味着如果C中的某些内容发生变化,那么它/将会对A产生影响。
UML用于传达设计。它并没有说你必须展示一切。我会将这些“软”关系排除在外。组合关系(即在构造函数中形成)实际上是您应该关注的唯一关系。如果它不是您想要展示的构图关系,请仔细考虑它是否与最终用户进行任何通信。