鉴于以下情况:
RQ1:一个航班只能由一架飞机执行
RQ2:一架飞机可以分配到零个或多个航班
所以我有一个名为 Flight 的类和一个名为 Plane 的类。
我不知道我是否过度思考了Flight和Plane之间的关系。
因此,对于 RQ1,您将在 Flight 和 Plane 之间建立关联,并且重数将为
Flight [1] ------ Plane [1]
但随后 RQ2 出现,我需要在 Flight 和 Plane 之间建立关联,但如何管理多重性?我觉得应该是
Flight [0...*] ------ Plane [1]
当然可以。想象一下从
Person
到自我的自我关系。一个是Father
,一个是Mother
(只是暂时忘记这可能与不久前不同)。因此,您可以根据需要在两个类之间建立尽可能多的关系。
如果你使用角色名称,情况就会清楚。因此,RQ2 的关联将被命名为
assignedFlights
。 RQ1 中的 carriedOutFlight
角色也可以是 assignedFlights
的索引(作为实现变体)。但当然它也可以是不同的协会。