Google Web ツールキットが提供する例では、アプリケーション全体に対して 1 つのクラスのみにイベント ハンドラーを追加しています。
同様に、Module1、2、および 3 の場合、すべてのイベントはメインの AppController クラスに登録されます。これは少しモノリシックだと思います。次のように、各プレゼンターで bind() と呼ばれるメソッドを宣言する MVP パターンを使用している場合は、それほど良くはありません。
public class MyTestPresenter implements Presenter{
private void bind()
{
TestEvent.eventBus.addHandler(TestEvent.Type, new TestEventHandlerImpl() )
}
}
public class TestEvent
{
public static SimpleEventBus eventBus = new SimpleEventBus()
}
クエリは次のとおりです。
アプリケーションが巨大な場合、1 つのイベントバスを使用して 1,000 を超えるイベントを入力することになります。それとも、モジュールごとにイベント バスのインスタンスを個別に持つように設計しますか?
静的イベント バス フィールドを維持するためのコスト。そのインスタンスをすべてのクラスに与えるためのより良い設計-コンストラクターを介してすべてのクラスに渡し、各プレゼンタークラスが参照を持つようにするのは少し混乱しているようです...
イベント処理に関して、GWT のアクティビティと場所とは何ですか? - 活動/場所の一般的な概念を理解する方法を教えてもらえますか?