2017-12-12 11 views
4

Visual Paradigmを使用してumlクラス図を取得するために、いくつかのJavaコードを逆にしました。この図は、私が以前に見たことのない片側の小さな黒丸との関連を示しています。アソシエーションの末尾にあるドットは何を意味しますか?

Image

それは間違い構図ではなく封じ込めではありません!誰も私に説明することができます、これはどのような関係ですか?ここで

は、関連するコードです:あなたが見ている何

public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> { 
    public static final String TAG = DataAdapter.class.getSimpleName(); 

    private static Context mContext; 
    private ArrayList<DataClass> mData; 
    private static OnItemClickListener<DataClass> mListener; 

    public static class ViewHolder extends RecyclerView.ViewHolder {} 

    public DataAdapter(Context context, ArrayList<DataClass> data) {} 

    public void setOnClickListener(OnItemClickListener listener) {} 

    @Override 
    public int getItemCount() {} 

    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {} 

    @Override 
    public void onBindViewHolder(ViewHolder holder, int position) {} 
} 

public interface OnItemClickListener<T> { 
    public void onItemClick(T item); 
} 
+0

あなたのクラスにゲッターとセッターがありますか?リバースツールの場合、単純な関連付けを合成と区別することは困難です。そのためには、関連するクラスのライフサイクルを推測する必要があります。容易ではない – granier

+0

あなたはクラス全体のスキーマとJavaコードを公開できますか? – granier

+0

@granier私の編集を参照してください。いいえ、ゲッターやセッターは関係ありません。 – Locdoc01

答えて

7

は、一般的に、それは協会の右側にプロパティが所有していることを示している。この場合ドット
として知られ、所有権の指標であります左側のクラスで

UMLスペックV2.5から

:アソシエーションの

所有権 は簡潔にするために、我々は ドットを名付けるだろう小さな黒丸でグラフィカルに示すことができる関連した分類器によって終了します。ドットは、線の終端と クラシファイアを表す側の間に と挿入された、分類器を満たす点の線のグラフィックパス に一体化されて描画されます。ドットの直径は、集約ダイヤモンドの高さの半分を超えてはならず、 ラインの幅より大きくなければならない。これにより、塗りつぶしたダイヤモンド表記 との視覚的な混乱を避けながら、ラインと区別することができます。ドット は、そのモデルがドットによって触れられた によって表されるタイプの特性を含むことを示している。このプロパティは他端の クラシファイアが所有しています。そのような場合には、所有するクラシファイアの属性コンパートメントからのプロパティを に抑止するのが普通です。

+3

あなたのステートメントは、「関連の左側のプロパティが右側のクラスによって所有されていることを示しています」というのは混乱しています。なぜなら、検討中のプロパティは、プロパティはアソシエーションの右側にあり、それは左側のクラスによって左右されます。 –

+0

@GerdWagnerあなたはまったく正しいです、私は私の答えを更新しました、ありがとう。 –

+0

私は「左側のクラスは、クラスの右側に型付けされた属性を所有しています」と言います。これで、属性とプロパティの違いについて考えてみましょう:https://www.uml-diagrams.org/property.html –

3

Geertの正解を飾る:以前のUMLバージョンでは、ナビゲート性(どちらの側にも開いている矢印)がその目的で使用されていました。だから今あなたがそれを指し示すことも意味しています(触っているクラスタイプの属性をレンダリングするので)。両方の表記を混在させることは可能です。しかしそれはあまり意味がありません。個人的には、概念的な段階でしかナビゲーション矢印を使用しません。

関連する問題