MVP は、クライアント アーキテクチャについて説明します。
M_odel : アプリで処理されるビジネス オブジェクト。
V_iew : モデルの表現を示す UI 要素。
P_resenter : すべてのユーザー インタラクションとモデルの変更を処理するクラス。
メモを表示および保存するアプリケーションがあるとします。
いくつかの場所があります:
- プレイスは、昔の古き良き HTML ページのようなものです。その
MVP
中にランニングのセットを記述できますPresenter
。この単純なアプリケーションには、2 つの場所があります。すべてPlace
に 1 つしか実行されていませんPresenter
NotesListPlace
-> 保存されているすべてのメモを表示
NotesEditPlace
-> メモの作成/編集
NotesEditPlace:
ビューとプレゼンターがあります。ビューには、TextArea (メモ用) と保存ボタンがあります。プレゼンターには保存ボタン用の clickHandler があります (他にもあるかもしれませんが、例としてはそれで十分です)
ユーザーは NoteList からメモを選択します
PlaceChange
からNoteListPlace
->NoteEditPlace
はPresenter
、ビューでクリック ハンドラーを開始して登録します。ボタンが押されると、プレゼンターはテキストエリアから入力を読み取り、モデルを更新します (新しい Notes-onject)。
次にサーバーとのやり取りです。必要なすべての (GWT) トランスポート層を使用できます。
成功のコールバックは、 に対してPlaceChange
イベントを発生させNoteListPlace
ます。
すべてが再び始まります。プレゼンターが起動し、新しいサーバー インタラクションがモデル (ノートのリスト) をロードします。ビューは発表者によって更新されます...
更新 1
サーバーは必要ありません。プレゼンターは、Model をブラウザーの localStorage に永続化できます。
更新 2
必要なすべてのトランスポート メカニズムを使用できます。RequestFactory、GWT-RPC。私は RequestBuilder と GWT AutoBeans を使用しています。