我认为导入和访问是依赖类型,但有一个网站说他们不是。它表示依赖性与导入/访问关系略有不同。 有什么区别?提前谢谢。
答案 0 :(得分:4)
<强>依赖强>
依赖性意味着没有供应商,客户的语义就不完整。存在 模型中的依赖关系没有任何运行时语义含义。语义都给出了 参与关系的NamedElements的条款,而不是它们的实例。
<强> PackageImport 强>
PackageImport是导入命名空间和Package之间的DirectedRelationship,表示 导入Namespace会将Package成员的名称添加到其自己的命名空间。
<强> PackageMerge 强>
PackageMerge是两个Packages之间的定向关系,表示目标的内容 mergedPackage根据下面定义的一组规则组合到源receivePackage中。它非常相似 从概念上将源元素的特征添加到其中的意义上的泛化 自己的特征导致一个元素结合了两者的特征。
依赖关系表明它没有任何运行时语义含义;对于所有子类必须保持为真(子类不能放宽约束)。因此,如果PackageImport是Dependency的子类,那么它将无法导入任何内容。
过度简化:依赖性捕获一个想法(例如这个包“使用”这个其他包,但我们不关心如何),而PackageImport捕获一个动作(例如这个包«import»s这个其他包具有这些精确力学)。
作为旁注,他们确实以DirectedRelationship的形式共享一个共同的祖先