Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

GWT/GWTP/EventBus

イベントバス

目的

Google I/O 2009 - Best Practices for Architecting GWT Appの13:50あたり。ここでは、アプリケーションのdecoupling(依存性の除去)の方策として三つあげられている。

  • An event bus(イベントバス)
  • MVP pattern for your custom widgets(カスタムウィジェットについてMVPパターンを用いる)
  • Dependency injection of app-wide services(アプリケーション全体で用いるサービスを注入する)

これによって、

  • Easy rejiggering of the app
    アプリの改変がやりやすくなる

  • Easy to defer pokey DOM operations
    ?

  • Easy unit testing
    ユニットテストが簡単になる

  • Fast test execution
    テスト実行が素早くなる

仕組み

イベントバスの仕組みについては、GWT Event Bus Basicsがわかりやすい。

このビデオの例では、Controllerどうしがイベントを通知し合う、つまり直接的に相手のメソッドを呼び出す代わりに「呼び出しイベント」というべきものをバスに送り込むことを行なっているが、GWTPではControllerではなくPresenterを使うことになっているので、ControllerはPresenterに読み替えなければいけない。

※ただし、GWTPの自動生成するサンプルコードでは、EventBusがPresenterに注入されるものの、使用されてはいないことに注意。