0

Area と Entity という 2 つの主要なドメイン クラスを含む DSL があります。領域は GeometryShape によって視覚的に表されますが、エンティティは CompartmentShape によって表されます。エンティティはエリアに埋め込むことも、埋め込まないこともできます (この場合、エンティティはエリアの一種であるルート オブジェクトに埋め込まれます)。異なる領域のエンティティ間を含む、エンティティ間の関係が存在する場合があります。エリアを他のエリア内に埋め込むことも、エンティティを他のエンティティ内に埋め込むこともできません。

私の問題は、ダイアグラムから必要な動作を取得できないことです。領域へのエンティティの埋め込みは、モデル レベルでは完全にうまく機能しますが、視覚的な表現は不規則に動作します。たとえば、その領域の外側の領域で作成されたエンティティをドラッグすると、マウス クリックに応答しなくなります (再親化を実行するコードがありますが、どういうわけかダイアグラム側が壊れています)。

これを行う方法のサンプルを高低で検索しましたが、空になりました。私がウェブ上で見つけたすべての例は、「参照」関係を介してネストをシミュレートしますが、ドメイン クラス (したがって、関連する形状クラス) の真の埋め込みを実行しています。

誰かがこれを行う方法の例を持っていますか?

私が発散している間、ダイアグラム/シェイプクラスが大幅に文書化されていないと思うのは私だけですか?

4

1 に答える 1

0

この例は、Visual Studio DSL Tools を使用したドメイン固有の開発にあると思います。また、Visual Studio Extensibilityフォーラムで質問することもできます。

于 2009-05-13T12:49:21.543 に答える