2012-05-08 15 views
1

私はジェネリックグラフィカルエディタ(GGE)のクラス図で作業しており、モデルビューコントローラ(MVC)パターンを使用しています。パターンは本当に素晴らしいですが、混乱しているものが1つあります。私は完全なSelectionクラスを作り、それをMVCのModelに結びつけましたが、この場合、1つのView(モデルの中の多くのもの)だけがアクティブな選択を持つことができます。 SelectionクラスをViewに結び付けると、パターンのルール(ビュー内の論理的な「見えない」情報)が破られます。MVCパターンのモデルとビューの間のリンク

私の質問は、モデルにすべての論理情報が含まれているように、ビューとモデルの間の中間のどこかにSelectionクラスをリンクする効果的な方法はありますか?すべてのビューは、常に?それが何かを意味するならば、クラス図はJavaのものです。

私はMVCのモデルビュープレゼンター(MVP)パターンの派生を見つけましたが、何の助けにもなりません。何か不足していますか?

ご理解いただきありがとうございます。 :D

+0

追加情報:ビューを切り替えるたびに、前のビューに選択があった場合、それらがエクスポートされて保存され、ビューが毎回切り替わるように、Selectクラスにシリアル化を追加する方法がありましたシリアル化された選択があるかどうかを確認します。プログラムを終了すると、選択されたすべてのファイルが削除されます。しかし、これはあまり効果的ではないようですが、私は欠けているより良い方法があると思います。 –

答えて

0

特に、ビューに論理を入れない限り、ビュークラスがMVCコンポーネント(たとえば、スイングのJTable)である場合は、ビューが状態を保持しても問題ありません。 MVCとMVPはすべて、モジュール性、テスト容易性、わかりやすさのために異なるタイプのコードを分離することに関するものです。あなたがそれらの基準を満たしている限り、教義的に "ルール"に従う必要はありません。

+0

答えをありがとう。私は実際にSelectionクラスをViewに移動し、SelectedElementsコレクションをそこに配置します。なぜなら、選択肢が有効であるように他の方法はないからです。 –

関連する問題