首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用UML依赖关系

使用UML依赖关系
EN

Stack Overflow用户
提问于 2015-01-29 20:40:08
回答 2查看 517关注 0票数 0

如果我有一个有一些函数的A类,我写了一个名为B的新类,它的目的是测试A类提供的函数,我需要检测这两个类之间的关系,可以说A和B之间的关系是依赖关系吗?

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2015-01-29 20:48:26

绝对一点儿没错。B在某种程度上依赖于A,它将测试A的能力。您可以使用构造型(例如,这里是<<test>>)来确定连接器的特定特征。尽管你不应该过度使用构造型。

依赖关系是UML连接器下最弱的。关联在某种程度上是更强的(例如,它在类中表示一个内部有另一个的实例)。关于何时使用哪种连接器有冗长的讨论。依赖总是好的。它表明存在一种概念关系。然后,关联显示出一种更强的关系。

票数 3
EN

Stack Overflow用户

发布于 2015-01-30 00:24:46

对于您的图,如果B测试A,那么箭头应该从A指向B。正如xmojmr的页面(请参阅Tom Kilian的答案的注释)所提到的,规范存在一些问题。

哪个类依赖于规范中的哪个语义不明确。这个规范很清楚:有一个客户和一个供应商。箭头端是供应商,尾端是客户。问题出在上层建筑2.4.1中的示例图中。7:

xmojmr的链接是这样的:

这个示例实际上显示了与UML相反的内容。CarFactory依赖于Car类。Car类可以在不知道CarFactory类的情况下定义,但是CarFactory需要Car作为它的定义,因为它生产汽车。

虽然我同意这个示例显示了与规范相反的评估,但我不同意对原因的解释。这是关联箭头的关注点,不是依赖箭头的关注点。依赖项箭头指向为执行指向的类提供功能的类(可以这么说)。

因此,问题在于图表中存在错误,而不是描述。Car类确实依赖于CarFactory类,这意味着箭头在错误的一端。CarFactory是Car类的实例化操作的供应商。Car类是CarFactory的客户端,使用它的实例化操作。因此,箭头应该指向CarFactory,而不是Car。

xmojmr的链接也说明了这一点,我同意:

说"...

类是CarFactory类的一个实例“也是错误的。Car类由CarFactory类实例化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28215022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档