Adobe AIR

AIRをつかってプログラムを作成する事になりそうなのだが、使い回しが考えられるのでなるべく構造化して「変更部分だけ変更すれば全体はいじらなくて良い」物を作りたいのだが、意外と前途多難かもしれない。


記述言語であるAction Script3は構造化言語なので、データの断片を表すクラスを作成してその組み合わせでデータ全体を表すのは楽勝である。


表示系も十分構造化されている。


問題は、「データのクラスに自分の表示方法を持たせることが出来るか?」という点。普通の「作り方」文書では「表示系がデータを見に行く」かたちになっているので、根本的な思想が違う…

for each (var onedata:Datum in data) {
            onedata.display();
}

的な組み立て方が出来ないだろうか?


よくあるサンプルから拡張していくと、表示用のクラスを各データクラスにあわせて派生させて書きかえる専用のアイテムレンダラーを作る事になるんだが、それだと直すところが二箇所に分かれる。


しかし、データモデルに表示に関わる指示を持たせるというのは、システムをMVCに分離する、とか言う発想には逆行しているのか?


どうもカスタムのアイテムレンダラーを使用する方法は、Adobe開発側の推奨らしい。個人的にはこのアイテムレンダラーをデータのクラスに持たせたいのだが、そういう構造はなさそうな感じ。(それはむしろパッケージでまとめる物なのか?慣れないから分からないな。)






…とか考える前に、普通の構造のAIRアプリを作れるようにするのが先か。