2012-04-19 7 views
5

私はいくつかの内部プライベートクラスを持っています。私はクラスダイアグラムにそれらを入れる場所が不明です。 外部クラスにあるべきか、それとも自分で行うべきか?プライベートクラスとuml

答えて

1

UMLは、複雑なアーキテクチャを設計または記述するためのものです。私は内部クラスがUMLクラス図で言及することが重要であるとは思わない。あなたのシステムをインターフェイスレベルで実装するように設計すれば、プライベートクラスだけでなく、すべてのプライベートメソッドもフォーカスが外れます。ダイアグラムにはパブリックメソッド=インタフェースメソッドのみが含まれている必要があります。

2

containmentで外部クラスの側に+という記号を付けることで、それらを外部で表すことができます。あなたはそれを見つけることができますhere

0

私はあなたがUMLクラス図で別のクラスの中にクラスを持つことはできないと思います。あなたがUMLでそれらを提示する方法は、親クラスとの構造的関係を反映する必要があります。それらが単に利便性のために内側に作成されている場合は、それらを接続することができます。それらが包含関係または集約関係を持つ場合、UMLには適切な構文があります。いずれにしても、内部クラスは言語固有であるため、UMLが明示的にサポートするのは変わってしまいます(実際には誤った設計です)。

潜在的に関連する外部の議論:http://www.coderanch.com/t/99318/patterns/Inner-Class-UML

2

ありUMLの違いは、あなたが使用している言語とどのようなモデリングツールは、常にですので、何かを達成するための最善の方法は、ツールに依存しています。

UMLでは、クラスはクラスメンバーのように可視性/有効性を持っています。言い換えれば、UMLではプライベートクラスが許可されていますが、それはあなたのツールがクラスの「プライバシー」を表示できるわけではありません。

UMLでは、クラスに他のクラスも含めることができます。つまり、クラスはパッケージとして動作することができます。ここでも、ツールがこれをどのように表示するかは異なります。

純粋なUMLの観点からは、内側のクラスが外側にあり、privateとマークされていることをお勧めします。

ダイアグラムでは、ツールで名前空間が表示されない場合は、外側のクラスのサイズを変更して内部を配置することができます。あなたのツールがサイズ変更を許可するなら、それはです。

最後に、合計で8または10のクラスしかない場合は、内部クラスを別の図で表示することをお勧めします。

関連する問題