2011-12-29 8 views
0

リフレクションを使用する言語について話すとき、UMLの拡張/代替はありますか? 私はUMLとしてプロジェクトを表現しようとしていますが、私はいつも「このメソッドは、メソッド名がファイルから読み込まれたときに呼び出されます」ということを思い出してしまいます。Reflectionを使用する言語のUMLのような代替語

C#について言えば、属性を使用すると、何かを開発する方法が大きく変わる可能性があります。たとえば、メソッドに特定の属性がある場合など、多くのことが記述されていないため、私のUML図は奇妙に見えます。

何らかの形で「反射」を表現するのに役立つビジュアル言語はありますか?

+0

動作の構造を表示しようとしていますか?ダイアグラムが十分明確で、正しくモデル化されていれば、UMLの使用は可能ですか? –

+0

はい、**私はそれを知っているので**私は好きです**しかし、私はC#の属性(例として)を表示する際に問題があります:XmlSerializable属性は、XMLでシリアル化できるクラスを表示する正しい方法を見つけることができませんそれはUMLで。それは何らかの方法で可能ですか? (たとえ回避策があっても、インターフェースのように)。 –

+0

XmlSerializable - >これにキーワードやステレオタイプを使用すると何が問題になりますか? – Christian

答えて

1

UMLとOOPでどのような表現が反映されているかを効果的に考えて解決策を見つけました。

厳密にOOPだと思うなら、プロパティ(フィールド)とメソッドで構成されるオブジェクトについて考えるべきではなく、他のオブジェクトによって構成されたオブジェクト(それがそうでなければならない)として考える必要があります。言われて、はるかに簡単にあなたがC#は属性置くことができる場所があり、このようにメソッドとプロパティオブジェクトと同様に(ので、我々はオブジェクトまたはLengthPropertyオブジェクトをUpdateMethodています)とはいを想像だと

か関数ポインタの代わりに代理人に意味を与えることができます。

のみ言葉で表現するのは難しい概念で説明しなければならない。このイメージ

UML showing reflection

Obviusly UMLは広く使われている機能(反射)がより良い方法でサポートしなければならないので、改善する必要があるが、私は好きではありませんそれを使用した(これはあまりいいことではない)。

関連する問題