UML依赖关系 - 我应该在这里使用吗?

时间:2011-08-20 19:05:20

标签: dependencies uml delegation

如果我有一个包含“委托”实例的“Foo”类。 Foo将方法调用委托给“Delegate”类,如下所示:

public class Foo {
   private Delegate delegate = new Delegate();

   public void bar() {
      delegate.bar();
   }
}

当我在UML中绘制Foo类时,它与它与Delegate类之间是否具有依赖关系(带箭头的虚线),或者它是否有代表组合关系的线?

2 个答案:

答案 0 :(得分:1)

关于UML的好处是你有一些余地,但在你的情况下,恕我直言,依赖性更好。

您没有delegate作为Foo的属性(没有getDelegate),因此没有人看着您的系统真正关心Foo }由一个代表组成(除其他外)。

然后,如果您的UML图表被提供给可以从图表生成代码的工具,那么它可能会。 :)

对你给出图表的人(或代理人)做正确的事。

答案 1 :(得分:0)

在这种情况下我会使用构图关系。如果您还没有确定Foo是否包含Delegate实例,那么依赖关系就可以了。但是如果你已经做出了这个决定,那么隐藏附加信息没有任何好处,事实上它可能会产生误导(读者可能会认为它不是一个包容因素,如果它是,它将如此显示)