チュートリアルのhttp://www.vainolo.com/tutorials/から、モデルの位置がモデルに保存されます。すべてのデータをファイルに保存して、ファイルをロードするときに同じビューを取得したいとします。GEFは実際にMVCフレームワークですか?
この質問の回答を検索すると、もう一つ重要な質問があります。
GEFは本当にMVCフレームワークですか?
GEF Controllersは、コントローラの役割がEditPartから取得されることを示します。指定されたオブジェクトを作成します。
コントローラーはビューパーツを保持しますが、コントローラーはユーザーインタラクションのみに反応し、ビューを通知し、更新する必要があります。その上
結び、それはEditPartのの一部であり、それが変化するため、次のコードは、間違っている:、
public void refreshVisuals(){
IPersonFigure figure = (IPersonFigure)getFigure();
Person model = (Person)getModel();
figure.setName(model.getName());
figure.setSurname(model.getSurname());
}
wikipediaについては、ビューには、モデルのオブザーバを持っているので、GEFから次の文が間違っていますではない?
EditPartは、実際のモデル状態をビューに同期させ、オブザーバを実装します。
MVCパターンでは、コントローラーはモデルの変更をリスンする必要があります。 GEFでは、EditPartsはコントローラであるため、モデルの新しい状態に応じてビューを更新するためにモデルをリッスンする必要があります。
だから何が正しいですか?
クロスポストを防ぐにはhttp://www.eclipse.org/forums/index.php/m/755178/をご覧ください。