2007年04月16日
Flex の Bindable 入門
GUI アプリを書くときの今までの流れはこう:
- 監視したいデータに対して「値が変わったら教えてね」とハンドラを登録しておく。addEventListener みたいなイメージ。
- ハンドラ内部では、状態変更に応じて表示内容を変更するコーディングを行う。
これが基本的な Model-View もしくは MVC の作り方。でも、これってめんどくさい。
それを解決するために Flex SDK が提供しているのがデータバインディングという仕組み。
- 監視したいデータに [Bindable] をつける。
- 値が変わったときに自動的にイベントが発行されるようになる。
- データが変わったら変更を反映させたい場所に {mySlider.value} のように中括弧で値を設定する。
- コンポーネントがイベントをハンドリングして、自動的に表示内容が書き換わる
これで煩雑なコーディングから開放されて幸せ。もちろん、凝ったことをするには限界があるんだけど、ほとんどのケースはこれで解決!
まとめ。
- 変更を他のコンポーネントに通知したいときに [Bindable] をつける
- 変更を受け取る場所には {mySlider.value} のように書く。
技術的な視点からは id:secondlife さんの mxmlc コンパイラのメタデータタグを利用する - [Bindable] 篇 という記事が詳しいので、そちらを参照あれ。
(2007.4.17 00:30 追記) この説明だけだとイメージがわきにくそうだったので、具体例を書いてみました。