关联是否意味着UML中存在依赖关系?

时间:2009-07-20 08:32:50

标签: dependencies associations uml

在讨论我对此answerquestion时,对如何为此代码建模存在一些分歧:

public class MainClass
{
    private Something something;

    public void Action()
    {
        OtherClass other = something.GetOtherClass();
    }
}

关键点是:

  1. Something类是MainClass中的一个属性,表示关联
  2. Something中引用MainClass类,表明存在依赖关系
  3. 依赖应该是一个专门的关联
  4. 但是,由于在供应商类不是属性的情况下依赖性是合适的,使用依赖性“隐藏”Something是属性的意图,而不是简单地引用?

    此外,表示类中属性的关联是否意味着依赖,因为它被存储(并且可能以某种方式引用和使用)。

    所以,参考上述几点,关联是否意味着依赖关系,您将如何在类图中对上述代码进行建模?

3 个答案:

答案 0 :(得分:4)

依赖关系和关联是两个不同的概念。根据UML元模型,两者都是“关系”元类的两个独立子类。

但是,确实,在您的场景中,我只是建模两个类之间的关联而不是依赖关系。这两个类通过关联连接的事实已经使它们成为依赖。

答案 1 :(得分:0)

我认为这真的取决于你在特定图表中尝试展示的内容。你可以用它们建模。如果在上下文中有意义,你甚至可以使用合成。

答案 2 :(得分:0)

有三个类,第一个是MainClass,第二个是Something,第三个是OtherClass。如果您使用UML工具生成类,您将看到图表,这非常简单。它是你的作品。我相信在MainClassOtherClass之间连接的虚线。在MainClassSomething之间连接的行(关联)。