今日は疲れた。
帰宅電車での脳内メモ
ThreadパッケージはBrigeパターンに直した方が良さそうだと思った。その方が新しいクラスを作った時に実装すべきメソッドをインターフェイスで定義できる形になるので強固になるかと。あと強引な型キャストの必要もなくなるかな。
インタプリタパターンはそれを元に作ろう。コマンドノードの部分がThreadクラスを継承したものになるイメージ。
それからFlashでは動的にクラスを読み込めないので、必ず一度クラスを読み込んでおく必要がある。前に同じような事やってどっかに書いたんだけど消しちゃったかなぁ。
//–思い出した
hogepackage.HogeClass;
var className = 'hogepackage.HogeClass';
var classFunc:Function = eval(className);
var hoge = new classFunc();
–//
とにかく一度クラスをムービーに読み込んでおく(importとかじゃなくて)のをカプセル化するために、動的に利用するクラスをひたすら読み込むswfを作って、初めにロードするってのはどうかしら?
phpもぼちぼち組み始める。結局既存のFrameWorkは参考にするだけに留め、自分で作ることにした。複雑すぎて覚えるのがめんどくさいし、フレームワークのいいところは枠組みが決まっていることだが、人のルールに従わなきゃならないのは面白くない。Railsほど便利なら別だが。余談だがはてブのホッテントリにあったRubyの生産性の高さについての記事は興味ぶかかった。Railsの事もあるし覚えておきたい。
FlashもPHPも作ろうとしている枠組みは同じで、サービス階層(MVC)とアクション階層にわけて、一番メインのクラスが解析して処理を実行する感じ。
例えば Userクラス(サービス層)のcreateメソッド(アクション層) みたいな。 サービス層はMVCそれぞれクラスを持っていて、これは何パターンっていうんだっけな。
PHPのVIEWは比較的簡単だが、FlashのVIEWは全然あかん、思いつかない。
今日はMovieClipの一括管理&Mediatorをちょっとしたアプリに組み込んでみたが、Colleagueが増えれば増えるほど、複雑に・・・。もう少し突っ込んで考える。
大規模なFlashを使っていると思いもかけないMCが思いもかけないMCに影響を与える拡張が要求されたりして、だんだんゴリゴリになっていくんだよなぁ。
うーん、MovieClipの一元管理も階層化で管理できればいいのかな?条件分岐にステートパターンを使うとか・・・。わからん。ここで無理のない設計ができれば、今後いちいち悩んだりしないと思うのだが。