包图中依赖关系和导入/访问之间的区别

时间:2018-01-30 02:43:55

标签: oop package uml packages ooad

我认为导入和访问是依赖类型,但有一个网站说他们不是。它表示依赖性与导入/访问关系略有不同。 有什么区别?提前谢谢。

1 个答案:

答案 0 :(得分:4)

<强>依赖

  

依赖性意味着没有供应商,客户的语义就不完整。存在   模型中的依赖关系没有任何运行时语义含义。语义都给出了   参与关系的NamedElements的条款,而不是它们的实例。

<强> PackageImport

  

PackageImport是导入命名空间和Package之间的DirectedRelationship,表示   导入Namespace会将Package成员的名称添加到其自己的命名空间。

<强> PackageMerge

  

PackageMerge是两个Packages之间的定向关系,表示目标的内容   mergedPackage根据下面定义的一组规则组合到源receivePackage中。它非常相似   从概念上将源元素的特征添加到其中的意义上的泛化   自己的特征导致一个元素结合了两者的特征。

依赖关系表明它没有任何运行时语义含义;对于所有子类必须保持为真(子类不能放宽约束)。因此,如果PackageImport是Dependency的子类,那么它将无法导入任何内容。

过度简化:依赖性捕获一个想法(例如这个包“使用”这个其他包,但我们不关心如何),而PackageImport捕获一个动作(例如这个包«import»s这个其他包具有这些精确力学)。

作为旁注,他们确实以DirectedRelationship的形式共享一个共同的祖先