0

UML では、構成とは基本的に、あるクラスが存続期間依存性を持つ他のクラスを含むことを意味することを知っています。つまり、このクラスが破棄されると、構成クラスも破棄されます。アグリゲーションとは異なり、クラスは共有されません。しかし、その後、システム設計者会議で次のことを見ました。

[A Plane]<>COMPOSITION---------[Passenger]0,1--------<>[Seat] 

これは、飛行機が破壊された場合、すべての乗客が破壊されることを意味します (これまでのところ正しい) が、乗客は座席との集合 (または関連) 関係にあり、各セットは 0 または 1 人の乗客を持つことができます。でも、この場合は相乗りじゃないですか。実際には、現代の言語 (C# など) では、Seat だけが乗客への参照を保持している場合、Plane クラスが破棄されても、それは存在し続けます。

4

1 に答える 1

0

これらのクラス間の関係をより適切に表現すると、(乗客ではなく) 座席は飛行機の構成の一部であり、乗客は座席に関連付けられています。座席のある乗客の集合は、技術的にはより強い関係を表現しますが、関連付けはより自然な (つまり「現実世界の」) 関係のようです。飛行機が「破壊」されると、座席も破壊されますが、乗客は「生き続け」、モデルの他の部分との関連性も失われます。たとえば、フライトの旅程の別の区間にある別の飛行機の座席などです。

于 2013-11-06T19:11:15.800 に答える