首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UML类图--线交叉是不好的做法吗?

问UML类图--线交叉是不好的做法吗?
EN

Stack Overflow用户
提问于 2017-01-20 13:01:11
回答 3查看 7.4K关注 0票数 3

不同类之间的线在UML图中交叉是不好的做法吗?这是设计的味道吗?这是否表明您的类过于纠结或独立或其他什么?它总是/通常是不可避免的吗?还是我想得太多了?

如果感兴趣,这是我当前的UML图。你会看到我在所有地方都布线了几行,以避免重叠……

​

​

EN

回答 3

Stack Overflow用户

发布于 2017-01-20 17:57:12

不同类之间的线交叉是不好的做法吗

是的,因为它会阻碍对图形/图表的理解。

它总是/通常不可避免吗?

并不是所有的图都是平面的(参见平面性测试),所以有时它是不可避免的。

但是问题并不像“我会把线路绕过来”那么简单。有许多规则和建议可以构成良好的布局或有助于良好的视觉美学;仅举几个例子:

线条交叉(您可能在某些图中看到了一座小桥,当线条是线条折弯的时候)(通常应该向上绘制继承线条( crossing)

  • number of

)

您已经可以看到一些规则是相互竞争的;因此布局始终是一种平衡行为。如果你对更多细节感兴趣,我建议你在谷歌上搜索“图形美学”或“自动(图形)布局”。

不幸的是,我的大多数研究论文都在paywall后面,所以我无法链接到pdfs,但其中一些可以在谷歌上找到;例如UML Diagram Layouting: the State of the Art或Aesthetics of Class Diagrams

票数 3
EN

Stack Overflow用户

发布于 2017-01-20 17:56:22

在我看来,线交叉可能是不可避免的,但通常,当我试图用一张图显示太多的东西时,就会发生这种情况。我认为这是一种“交流”的味道,而不是设计的味道。

我经常发现,明确地写下我试图回答的问题有助于发现不是严格必要的、我应该省略的模型元素。此外,几个图表可能比一个饱和的图表更好地传达一个想法/设计。

在你的例子中,你可以按照你已经识别的彩色区域来分解你的图表。

票数 2
EN

Stack Overflow用户

发布于 2017-01-20 18:50:40

当有交叉线的时候,这是一个很好的时机,可以停下来思考一下图是否变得太复杂了。

我觉得你的图表试图同时做到抽象和具体。我认为它太复杂了。它是抽象的,因为它提供了架构概述,而具体的,因为它显示了与实现相关的结构细节。

就我个人而言,我可能会将您的图表拆分成一个组件图表;然后使用单独的类图来表达每个组件的结构。

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

https://stackoverflow.com/questions/41756413

复制
相关文章

相似问题

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