UML类图-线交叉是一种不好的做法吗?

UML类图-线交叉是一种不好的做法吗?,uml,Uml,在UML图中,不同类之间的行交叉是一种不好的做法吗?这是设计的味道吗?这是否表明您的类太复杂、太独立或其他什么?它总是/通常是不可避免的吗?还是我想得太多了 如果有兴趣,这里是我当前的UML图。你会看到我一路走了几条线以避免重叠 在我看来,线交叉可能是不可避免的,但通常情况下,当我试图用一张图表显示太多的东西时,这种情况就会发生。我认为这是一种“沟通”的味道,而不是设计的味道 我经常发现,明确地写下我试图回答的问题有助于发现那些不是严格必需的、我应该忽略的模型元素。此外,多个图表可能比单个图表更

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

如果有兴趣,这里是我当前的UML图。你会看到我一路走了几条线以避免重叠


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

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

在您的示例中,您可以按照已经标识的彩色区域分解图表

不同班级之间的界线交叉是一种不好的做法吗

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

这总是/通常是不可避免的吗

并非所有的图形都是平面的(参见平面度测试),因此有时这是不可避免的

但是问题并不像“我只是绕线走”那么简单。有许多规则和建议构成了良好的布局或有助于良好的视觉美感;仅举几个例子:

  • 线路交叉(在一些图表中,当线路交叉时,您可能会看到一座小桥)
  • 弯板数
  • 线路总长度
  • 层次结构(通常继承线应该向上绘制)
你已经可以看到一些规则是相互竞争的;因此,布局始终是一种平衡行为。如果您对更多细节感兴趣,我建议您在谷歌上搜索“图形美学”或“自动(图形)布局”


不幸的是,我拥有的大多数研究论文都在付费墙后面,所以我无法链接到PDF,但其中一些可以通过谷歌搜索;e、 或者

当有交叉线时,这是一个停下来思考图表是否变得过于复杂的好时机

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


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

我支持桥接方法!