1

私は、EMFに基づくサードパーティのドメインモデルと編集用のGEFエディターを使用して、EclipseRCPアプリケーションに取り組んでいます。

GEFはMVCパターンを使用します。これは、エディタービューでモデルグラフを描画するために特定のレイアウトを使用する必要がない場合は十分に公平です。私が使用しているドメインモデルには視覚的な情報はまったく含まれていませんが(それ自体は良い考えです)、Figuresのsに座標を割り当てられるようにしたいと思いEditPartます。これにより、レイアウト内の図の位置を計算するのがはるかに簡単になります。

今、私はマーティン・ファウラーによるプレゼンテーションモデルパターンに出くわしました。それはまさに私が探していたもののようです。また、RCP UIテスト(ドイツ語のみ)に関する-古風な-チュートリアルを見つけました。これは、日食RCPコンテキストでこのパターンを使用します。

今私は疑問に思っています:GEFが明示的にMVCを使用していることを見て、GEFコンテキストでPMを使用することは一般的に可能ですか?MVVMは代替手段ですか?

いくつかの理由でGMFを使用できないことに注意してください。

どうもありがとう!

4

1 に答える 1

1

はい、もちろん可能です。選択肢は 2 つあります。

まず、独自のグラフィカル表記モデルを実装します。次のようなアプローチを使用することをお勧めします。

modelElement : ModelElement 1..1
x            : int          1..1
y            : int          1..1

次に、EditingDomain に 2 つのモデルをロードし (EMF がドキュメント間の参照を解決します)、不足しているすべての Graphical Notation Elements を作成します。

もう 1 つのオプションは、GMF または Graphiti を使用することです。彼らはあなたが探しているモデルを箱から出してすぐに手に入れることができ、あなたの生活を大幅に簡素化します. さらに別のモンスターフレームワークを学ぶという犠牲を払って(GMFの場合)。Graphiti は (GEF/GMF に比べて) 簡単ですが、IMO は柔軟性に欠けます。ところで、GMF は「無料の」TransactionalEditingDomain を提供し、すべてのコマンド、取り消し、やり直しを処理します。したがって、前の質問へのコメントのように、GMF を使用することをお勧めします。

ああ、すみません、あなたが GMF について書いたことに気づきませんでした。

次に、2 番目のオプションは、ドメイン モデルからグラフィカル モデルを継承させ、このモデルに対して GEF エディターをコーディングすることです。

于 2012-07-04T14:41:25.377 に答える