Happy Man

mash-uppy

19  08 2008

ExtGWTでMVC (その6)

このタイトルは、今回で終わりにしようと思います。
MVC以外にもチョロチョロと書きたいことがあるので。。。

というわけで
最後は、イベント駆動について補足です。

1.同じViewに配置されているコンポーネント間のデータの受け渡しは、
イベントよりはsetXXXXで十分事足りる。
スマン、省略。。。

2.複数のView間でのデータの受け渡しは、
イベント駆動を使うと楽。

例えば、Tableの1レコードがCar(extends BaseTreeModel)で、
選択状態が変わった場合のイベント発火の手順

TableBinder<Car> binder = new TableBinder<Car>(table, store);
binder.addSelectionChangedListener(new SelectionChangedListener<ModelData>() {
  public void selectionChanged(SelectionChangedEvent se) {
    Car c=(Car) se.getSelectedItem();
      if (c!=null) {
        //EVENT_FOOというイベントに選択されているCarオブジェクトを積んだイベントオブジェクトを生成
        AppEvent evt = new AppEvent(App.EVENT_FOO, c);

        //また、複数のオブジェクトをイベントに積んでみたいという場合、
        //AppEvent#setDataメソッドを使うと、キーに対してCarオブジェクトを設定することができます。
        evt.setData("abc", c);

        //そして、イベント発火
        fireEvent(evt);
     }
  }
});

受け取り側でのデータの取り出し方は、View#handleEventの中で

public class XXXXView extends View {
  protected void handleEvent(AppEvent event) {
  if (event.type == App.EVENT_FOO) {
      //こういう方法や
      Car dataCar = (Car) event.data;

      //こういう感じ
      Car abcCar = (Car) event.getData("abc");

      //とりだしたCarでViewに配置しているコンポーネントを更新する

その6まで引っ張ってしまいましたが、
ExtGWTを使うことで
(自分の中での)今、一番、柔軟なソフトウェア設計である
MVC+非同期イベント駆動モデル
が簡単に実装できることを感じてもらえればいいなかな。
と思っています。


17  08 2008

今更ですが。。。

16  08 2008

eclipseでのjavadoc

もう皆様、ご存知かと思いますが、
viewでjavadocを見ることができます。

手順は、以下の通りです。
1.eclipseメニューでダイアログを開きます。
window-/>view->other

2.ダイアログでjavadocを選ぶと、ビューにJavadocタブが追加されます。
java-/>javadoc

使い方は、簡単で
編集中のコードの中で
クラス名やメソッド名をマウスで選ぶだけで
先ほどのjavadocタブにAPIが表示されるようになります。

javadocには、クラス名やメソッド名の説明だけでなく
使用例が書かれていることもあり、
時々、「おっ」ということもあり、意外と便利です。


16  08 2008

GWT+TOMCAT考

GWTTOMCAT(weblogicなどj2eeコンテナも含む)環境で
システムを構成するとしたら
サーバ側のフレームワークは、strutsのような主に画面遷移を司るものは不要で
hibernateのようなDBアクセス周りだけで
十分ではなかろうかと思っています。

なぜかというと
GWT=jsによるアプリケーション(画面)というのがメインになる訳です。
もうお分かりですね。
jsによるアプリケーション
って
ajaxを使うことによって画面遷移をなくすことができる訳です。
#セキュリティネタが加わると微妙かもしれませんが。。。。

システム構築時には
フレームワークの選定のタスクがあるくらい
フレームワークな考えが重要視される今日この頃ですが
1.ajaxを使う
2.railsな考え
特に「Convention over Configuration」(設定より規約)
に勢いをつける意味も含めて、
strutsのような設定祭りは、無くなればいいかなとか
画面遷移を扱うフレームワークは不要になってくれればなと。。。。


« Previous PageNext Page »