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

标签 uml

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

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

最佳答案

Is it bad practice for lines between different classes to cross

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

Is it always/generally unavoidable

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

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

  • 线交叉(您可能在某些图表中看到当线交叉时有一个小)
  • 折线次数
  • 总行长
  • 层次结构(通常应向上绘制继承线)

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

不幸的是,我拥有的大多数研究论文都在付费墙之后,所以我无法链接到 pdf,但其中一些可以用谷歌搜索;例如UML Diagram Layouting: the State of the ArtAesthetics of Class Diagrams

关于UML 类图 - 线交叉是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41756413/

相关文章:

php - 实时通知 UML 类图

javascript - 使用 UML 将 JavaScript 更改为 HTML 模型?

uml - 在细化时拒绝和否决有什么区别

uml - 状态机和状态图是同一个意思吗?

c++ - UML 对描述模板化代码有用吗?

java - 使用和实现关系uml接口(interface)之间的区别

uml - 组件图是否有人类可读和基于文本的表示?

c++ - UML 设计模式和 C++ 类的实现

javascript - 为 javascript 中的现有类生成 UML 图的工具

language-agnostic - 这个(UML?)图的术语是什么?什么程序可以制作它?