私は gwt を学んでおり、MVP を実装する大規模なプロジェクトで使用される appcontroller パターンがあることがわかりました。私は公式ドキュメントを読みました。しかし、それらは非常にコンテキスト固有で抽象的であるように見えます。パターン全体とその背後にある動機を理解したい。どんな助けでも大歓迎です。ありがとうございました。
2 に答える
アプリケーション コントローラーは、まさにその名前が示すとおりです。
これは、アプリ全体のイベントを制御するものです。
たとえば、これは歴史イベントが行われている場所です。誰かがアプリを閲覧して新しいメイン ビューが表示されたとき、またはアプリケーションの戻るまたは進むボタンを押したときに、これがどのように行われるかを制御します。ここで、主要なプレゼンターとビューのほとんどを作成し、それらをアプリケーションに追加したり、アプリケーションから削除したりします。
もう 1 つの例は、グローバル データです。ビュー間で共有されるデータがある場合、これは、別のプレゼンターがデータを必要とするときにデータがどこにあるかを知ることができるように、データを配置してユーザー入力に従って更新する場所になる可能性があります。イベント バスは、プレゼンターに非同期ポストバック呼び出し機能を提供する rpcService と同様にグローバルです。
本質的には、集中管理が行われる GWT アプリケーション全体のプレゼンターです。(少なくとも、それが私のアプリケーションで使用した方法です)。
AppControllerとイベント処理が明確になることを願っていますAppController
依存関係の問題に対処するために、
AppController
UI コンポーネント間のメッセージを調整する を導入し、それぞれにイベント バスを構築してpresenter
、AppController
がプレゼンター イベントに関心を登録し、それに応じて反応できるようにします。