2011-04-22 8 views
0

1つのTicketTypeを保持するTicketを持っていても、チケットの種類が多数のTicketの一部になることがあれば、何がわかるのでしょうか。すぐにUMLの混乱を助ける

アグリゲーションは開いたダイヤモンドがTicketクラスにあるか、または矢印がTicketTypeを指しているアソシエーションですか?

答えて

1

私の最初の考えは「誰が気に?あなた自身または他の開発者のために2つのオブジェクト間の関係を表現しようとしています。違いを明確にすることはできません。他の人がそれをやることができるチャンスは何ですか?

オープンダイヤモンドとの関連付けでは、チケットはTicketTypeを所有していますが、チケットがなくなるとそのタイプは削除されません。

これは、関連のための単純な矢印の上に、これがどのような追加情報を提供するのかよくわかりません。

私は、これらのことにあまりにもハングアップしないことが重要だと思います。 UMLに夢中にならないでください。

+0

よろしくお願いします。チケットが削除されても、チケットタイプはまだ存在するはずです。 –

+0

+1 @duffymo。 UML集約の関連付けは、その価値よりも混乱を招きます。重要な問題は、カーディナリティ(少なくとも1つは存在する必要がありますか?1つ以上存在する可能性がありますか?)と削除動作です。私のアドバイスは、常に最初にこれらの質問に答えることであり、単純なバイナリアソシエーションを採用することです。集約は1つの有益なプロパティしか持たず、再帰集約でのみ発生します。 – sfinnie

+0

助けてくれてありがとう、sfinnie。私の答えは、それが立つにつれてかなり適切だと思います。多分あなたは集約について混乱しているかもしれません。私はそうではありません。あなたは確かに自分自身を提供することは自由です。 – duffymo