2009-03-13 8 views
0

私は2つのクラスを持っていますが、どのような関係を使用するべきではありません。私はたくさんのプロパティとメソッドを持たないクラスDocumentを持っています。 2番目のクラスは、私がDocumentFact(Fact - Factory)と呼ばれるものです。このクラスには、Documentオブジェクトのコレクションを返すさまざまなメソッドが含まれています。UMLクラス図関連タイプ

したがって、DocumentクラスはDocumentFactクラスと何も関係がないため、DocumentFactクラスについて何も知らない。一方、DocumentFactは、複数のDocumentオブジェクトを作成します。これはどのようなUML関係ですか?

--------------   ------------ 
|DocumentFact| -------> | Document | 
--------------  2.* ------------ 

または::

--------------   ------------ 
|DocumentFact| ------- []| Document |   // Composition 
--------------   ------------ 

あなたはどう思います私はこのような何かを考えていましたか?

答えて

1

私はfactories->製品がインスタンスの関係でそのツールキットに同意する - 工場も、それは1です。その場合には、製品のオブジェクトへの参照を維持するために意図されていない限り、多重度の記述は適用されません。 *または1:n(マルチトン)とにかく

3

私の意見では、DocumentFactが本当に工場であれば、余分な3回のキーストロークを費やしてスペルアウトします。初めてクラス名を読むときに、クラスのユーザーが「ドキュメントファクトリ」または「ドキュメントに関するファクト」を意味するかどうかを確認するようにします。不確実性は、特にタイプに触れることができる場合は不要です。私は名前をより自己記述的であいまいではないようにすることをお勧めします。

+0

オフトピックですが、非常に良いアドバイスです! – Yarik