1

自動車販売店の UML クラス図

最後に 1..1 またはそのようなものが書かれている単一の単純な矢印を除いて、他の矢印は無視してください。

私は、UML 2.0 を紹介する多くの Web サイトや多くの本を参照してきましたが、使用されている 2 つの規則に出くわしました。

2 つのクラスが矢印なしの 1 行で接続され、行末に 1..1、1..* などのいずれかが書かれている場合、

purchasePlan と User を結合する行の終わりで、用語が 0..* ではなく 1..* であると仮定します。

1) 1 つの規則に従って、図に従って User クラスに PurchasePlan オブジェクトの配列を作成し、PurchasePlan に User の 1 つのオブジェクトを作成します。

2) 2 番目の規則に従って、購入計画のオブジェクトの配列のみをユーザーに作成しますが、購入計画にはユーザーのオブジェクトは作成しません。

では、最も広く使用されている、または標準的な規則はどれですか?

4

2 に答える 2

1

あなたが見ているのは、双方向の関連付けです。これは、規則 (1) がこの関係に適していることを意味します。関連付けに矢印がある場合、2 番目のアプローチが適用されます。

0..*」は、ユーザーが参照された購入計画を持たない(つまり、その PurchasePlan 配列が空になる可能性がある) という点で重要です。双方向の関係を維持するために、すべての PurchasePlan の対応する User フィールドにデータを入力する (null ではない) 必要があります。これにより、「孤立した」購入計画の可能性が拒否されます。

于 2012-02-20T17:57:35.243 に答える
0

最初のオプションは、循環依存を作成します。より高い結合が得られ、コードの保守性が低下するため、これは推奨されません。2 つのオプションは、User で PurchasePlan のコレクションを作成するか、各 PurchasePlan で単一の User を作成することです。どちらを使用するかは、ドメインによって異なります。ユーザーのすべての PurchasePlan を取得する必要があるかどうか、またはその逆をより頻繁に行う必要があるかどうかを自問してください。

于 2012-02-20T17:40:33.020 に答える