2016-04-25 12 views
0

私は属性としてPython用語で辞書を持つクラス図を持っています。これは基本的な構造である:accountBalance1辞書内の他のエントリの整数値と同様であるクラス図のHashMapを表します

serverEntry = { creditCardObj1 : accountBalance1, creditCardobj2 : accountBalance2, ...} 

明確にするために、creditCardObj1クラスのCreditCardのインスタンスです。

私はそれをJavaで読むと、HashMapと呼ばれています。いずれにしても、UMLクラス図に実装したいと思います。それを行う方法に関するヒント。私はVisio 2007を使用しているので、誰かがそれについて説明することができればさらに助けになります。

+0

ここにコメントを書いていない限り、私の新しい回答を通知しないことがあります。下記を参照してください。 –

答えて

-1

単一の真実はなく、単なる設計上の決定です。ここではカップルの変異体は、次のとおりです。あなたは自分のPythonアプリケーションコード内のハッシュを表現したい場合は、それが表す

enter image description here

が、あなたは単純にその名前で伝え右に単純なクラスで行くことができますハッシュ。ハッシュを実装する必要はないので(これはすでにPythonインタプリタで行われています)、それは問題ありません。

Pythonインタプリタを実装する場合は、それを行う方法の詳細を示す必要があります。中間クラスは、キーとオブジェクト参照を持つ2つの配列を単に使用します。左のものは、別のクラスにまとめられたキー/オブジェクトのペアを使用します。おそらくハッシュ実装を表示する方法はまだまだあります。

+0

ありがとうございます。中間の実装を検討していましたが、キーと値の間に明示的な関係がないことが私には発生しました。これは、ハッシュ命名法の使用によって想定されるのでしょうか、またはマッピングを表示する方法がありますか?それ以外の場合は、左端の実装を使用します。 – SpiderWasp42

+0

正しいものを使用することをお勧めします。命名規則は十分です。 Pythonコードで知る必要があるのは、ハッシュを使用することだけです。そしてそれはあなたがユニークなキーと値のペアを使用していることを明確にします。真ん中の実装は実際には非常に単純なものであり、Pythonインタプリタ自体では使用されていません。 –

1

別の回答が既に選択されているので、これに多大な努力を払うことはありません。その答えは、HashMapにUMLの最も近いものをカバーしていません:修飾子。これは、クラスと関連付けの間の長方形として描画されます。四角形の内側には名前と型があります。それが意味することは、そのタイプのインスタンスが与えられれば、関連付けは、関連のもう一方の端でいくつかのインスタンスのインスタンスを生成することです。その数のインスタンスは多重度で指定されます。

creditCard: CreditCardを修飾子の矩形に、Integerをアソシエーションのもう一方の端に、1の多重度で置きます。

0

私は、この質問はプログラミング言語よりもUMLに関するものだと考えています。このように、私は私がより快適に感じるの言語を使用できるようにしてください。

C#がハッシュキーためstringで例えばDictionary<string, T>、あまりにも辞書を呼び出します。 Visual StudioのUMLクラス図(ここではVS 2015のCommunity Editionを使用しています)は、UMLモデルが基本的に言語のメタモデルであり、ダイアグラムが実際のコードとはまったく異なるビューであるように、

実際のプログラミングの問題(あなたが求めたもののような)は、図で直接扱うことができるので便利です。 (また、図を取得または維持するために必要な余分なコード生成や追加の解析は不要です)。

私はVisual Studioがこれを解決する方法が好きです。彼らは二つのオプション、より専門的(show as Association)に焦点を当てているものを提供

enter image description here

とドメイン(show as Collection Association)の詳細を集束される1。

Show as Association

私は通常、私はDictionaryクラスが関与していることを強調するための図が必要な場合にのみ、他のすべての場合には第二の選択肢は私の好ましい選択肢である最初のものを使用しています。

関連する問題