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

3

在讨论我对这个问题答案时,有些人对如何对这段代码进行建模存在分歧:

public class MainClass
{
    private Something something;

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

关键点如下:
  1. Something类是MainClass中的属性,表明它们之间有关联
  2. Something类在MainClass中被引用,表明它们之间有依赖关系
  3. 依赖关系应该是一种特殊的关联
然而,在供应方类不是一个属性的情况下,使用依赖关系可能是合适的,这是否会“隐藏”Something是一个属性的意图,而不仅仅是被引用?
此外,表示类中属性的关联是否意味着依赖关系,因为它被存储(并且可能被引用和使用)。
因此,针对以上观点,关联是否意味着依赖关系?你会如何在类图中建模上述代码?
3个回答

4

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

然而,在您的情况下,我只会对这两个类建模一个关联,而不是依赖关系。这两个类通过关联连接已经使它们相互依赖。


+1 因指出我对关联和依赖之间的关系理解有误。通过查阅 http://www.omg.org/spec/UML/2.2/ 中的 UML 超级结构规范进行确认。 - chrisbunney
留待开放以查看是否有更多答案,由于没有其他答案并且我认为这个答案回答了问题,因此我已经接受了它。 - chrisbunney

0

有三个类,第一个是MainClass,第二个是Something,第三个是OtherClass。如果您使用UML工具生成类,则会看到图表,这很简单。它由三个类组成。我相信虚线连接了MainClassOtherClass。实线(关联)连接了MainClassSomething


0
我认为这取决于您想通过特定的图表展示什么。您可以使用任何一种模型进行建模。如果在上下文中有意义,甚至可以使用组合。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接