我制作了这两个calsses并尝试将其表达为UML类图
publc Class A
{
public A(){}
public void Funct1()
{
B b = new B(this);
}
}
public Class B
{
A m_A = null;
public B(A a)
{
m_A = a
}
}
我认为“A”类对B具有“依赖性”,因为A不保持对B的引用 我认为“B”类具有“与A的单向关联”,因为B类保持对A的引用。
所以,我按照以下方式绘制类图。
dependency
-------->
[A] [B]
<-
one directioinal association
但是,即使对我来说,这个图表看起来有点不对劲。 所以,我想知道如何在类图中表达这种关系。
答案 0 :(得分:2)
不,由于你自己提到的原因,这对我来说似乎完全有效。
唯一的问题是“有些错误”是指A和B之间存在双向依赖关系,这使得两个类紧密耦合。你应该尽可能避免紧耦合,但有时你没有其他选择。
答案 1 :(得分:0)
只需要在UML中为您的示例定义关联。但是,如果有可能将空值设置为m_A,则无法确定B侧的多重性,A侧的多重性为0..1。 在您的示例中,不需要依赖UML来绘制UML。依赖性没有对时间的影响。它在模型元素定义之间定义。 阅读UML Superstructure以获取有关依赖关系的精确信息。