2017-09-11 20 views
1

ユーティリティ/ヘルパークラスとファクトリクラスは、コアJavaではまだ頻繁に使用されています。たとえば、java.util.Collections,java.nio.file.Filesはユーティリティクラス、java.nio.files.FileSystemsおよびjava.nio.files.Pathsは静的ファクトリメソッドを持つファクトリクラスです。ファクトリまたはヘルパークラスとUMLクラス図で生成できるオブジェクトの関係を表現する方法

私の質問は、UMLクラス図を使って、これらのファクトリまたはユーティリティ/ヘルパークラスとそれらが生成できるオブジェクトの関係を表現する方法です。

+1

http://www.uml-diagrams.org/class-diagrams-examples.html –

+0

例は、工場のデザインパターンについてでした。しかし、ヘルパー/ユーティリティクラスには多くの静的メソッドが含まれており、他のオブジェクトを作成できます。私はヘルパークラスと生成されたオブジェクトの間に依存関係はないと思います。リンク先のページから、類似の関係図がないようです – Rui

答えて

1

クラスはちょうど彼らが参照するクラスの多重度に依存関係を使用することになりuml-diagrams.org

ヘルパーのように工場出荷時のパターンのための多くの例があります。

enter image description here

3

クラスは、彼らが破線の矢印で接続する別のクラスを使用している場合。 sayというのは、クラスAがクラスBをメソッドの中でパラメータとして宣言したこと、または静的にそれを呼び出すことを意味します。

class A { 
    public void test(B b) { 

    } 
} 

または

class A { 
    public void test() { 
     B b = ... 
    } 
} 

または

class A { 
    public void test() { 
     B.teststaticmethod(); 
    } 
} 

クラスは、彼らはラインの矢印で接続し、別のクラスに依存している場合。それは、クラスAがクラスBを内部のプライベートメンバーとして持つことを意味します。

class A { 
    private B b; 
} 

この知識を使用すると、自分でモデル化することができます。

1

UML標準プロファイルの作成とユーティリティのステレオタイプは、あなたの必要を満たしていますか?

参照UMLドキュメントは、「22.3標準ステレオタイプ」:

作成:使用量依存性がクライアントの分類器は、サプライヤ分類器のインスタンスを作成することを示す、使用法に適用されます。

ユーティリティ:クラスに適用されます。インスタンスを持たないクラスで、むしろ静的な属性と操作の名前付きコレクションを表します。

enter image description here

関連する問題