2010-11-24 9 views
1

私はソリッドGUIプログラマではないので、私はさまざまなイベントアーキテクチャを理解しようとしています。私はいくつかのカスタムイベントを導入しているシステムを開発しています(GWTでは問題はないと思います)。一般的には、イベントを作成し、それをイベントバスに発射させることをお勧めしますか?イベントは自分自身を発射すべきですか?

オンラインの記事やチュートリアルに続いて、コントローラコードで実際にイベントが発生しますが、各コントローラはカスタムイベントを発生させるためにコードを複製する必要があります。イベント自体にfire()メソッドを置くだけで、重複を避けることができます。

これを行う際の賛否両論は何ですか?

答えて

1

イベント発射自体を行うには、EventBusインスタンスを作成するときにイベントに注入する必要があります。これは、コントローラ(1つのNEWINGアップイベントが)必要があります意味:

new MyEvent(m_eventBus).fire(); 

あなたは、このようなコードリワーク場合:

MyEvent event = new MyEvent(); 
m_eventBus.fireEvent(event); 

を、あなたがに任意のロジックや参照を配置する必要はありませんイベントインスタンス内のサービス(実際には必要ない場所)。 GWTを使用している場合、HandlerManagerクラスはすでにイベントバスを実装しています。

関連する問題