2017-08-07 13 views
1

この問題は、純粋な設計モデリングUMLクラス図のモデルに:異なるパッケージで同じクラス

である私は2つのパッケージを持っているし、同じ名前の異なるクラスがあるが、これらのパッケージに

を埋め込まなければならない優れた設計ソリューション何冗長クラスを回避するために、パッケージ間

1-使用「インポート」の依存関係:私はそのようなコーディングに基づいてさまざまなソリューションを読んだ

異なるパッケージで同じクラスを持っている場合他のパッケージ内のクラスのインスタンスを2つ作成して、異なるパッケージに同じ名前のクラスを持たせることができます。 3完全にクラス名の1つに限定してください

最適な解決策を教えてください。お願いします?

答えて

3

異なるクラスのパッケージの場合、クラスに同じ名前を使用することはできます。パッケージは名前空間なので、そのようなクラスの完全修飾名は異なります。クラスにアクセスする方法は、現在どのパッケージにあるかによって異なります。クラスを含むパッケージの外にある場合(インポート/アクセスによって直接出力される場合)、あいまいさを避けるために完全修飾名を使用する必要があります。

クラスが実際に同じ場合は、 - より適切なパッケージを1つ置き、他のパッケージから簡単にアクセスできます(標準アプローチ、すべてのパブリッククラスで可能) - 1つに入れます他のパッケージ(要素やパッケージのインポートを介して)にインポートする - 追加パッケージ(Utilsなど)に入れて両方のパッケージにインポートします。

選択は特定の状況によって異なります。

2

同じクラスの場合は、1つのパッケージで定義し、もう1つのパッケージで「再利用」する必要があります。

完全なUMLモデリングツールは、別のパッケージの既存のクラスをDrag-n-Dropできる必要があります。

このツールでは、別のパッケージのクラスを使用していることを示すことができます。

enter image description here

関連する問題