uml - Class 节点-边缘关系图

uml - Class diagram of node-edge relation

我正在尝试为节点-边缘关系创建一个 class 图,因为它可以在有向图中找到。我想传达的是 Nodes 引用了 EdgesEdges 也引用了 Nodes。 每个 Edge 恰好需要两个 Nodes(源和目标)。

这是一种可以接受的建模方式吗?

是的,这张图完美地表达了您在文中所描述的内容。双重联想是正确的:每个联想表达不同的东西。

你在图表中比在文本中更精确,因为你显示每个节点都有 inEdgesoutEdges,而文本只是提到了对 Edges 的引用没有更明确的。

有向图实现的一个常见变体是 Node 只知道它的 outEdges。如果这很重要,你可以用 navigability 来表示,箭头指向 sourceNode 的方向,十字在 inEdges 的一侧。但是这种做法在模型中比较少见。

对于无向图,您只能在节点的一侧有一个重数为 2 的关联。