<< Prev Page Next Page >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


tenjin.web/5に行ってきた

tenjin.web/5に参加してきた。ええ、久しぶりの参加です。

今回のお題はJavaScriptでRIAなMVCパターンということで、簡単なJavaScriptプログラムも作りながらーのいろいろ脱線しながらーの、楽しかった。

brazilの人のお手本をざっと見つつ、試しにお手本を使わずイチから全部作ってみたらModel部分が結局同じような感じになっちゃったりして、それはそれで教育的な何かを示唆しているような

さて、今日作ったやつを晒しますよ。帰ってきてからもう少し手を入れて、フワッヒュイッと動くようにだけしました。jQueryって便利やね。

JavaScriptでのMVCパターンのお勉強なので、ページ遷移とか通信とか無し。あくまでもメモリ上のModelに対する変更をトリガーとしてViewを更新する、というお話。うん、こういうのあらためて作ると最初にかける一手間はやはり大事なんだよねって再確認。ちゃんとMVCのカタチを意識して作ると楽が出来る。

細かいことを言い出すときりがないというか、たとえば、Modelを変更したときにViewに更新を促すために、ModelのほうにViewのメソッドを呼ぶコードを書いていいのか、とか、JSONで得られたデータをViewにくっつけるべきなのか、とか、教科書的に正しくやろうとすればこのコードだといろんなアラがある。

で、教科書的な正しさ(適切さ)と、実装の手間をできるだけ減らすってことと、作るアプリケーションをどの程度育てていく必要があるかの見極めのバランスで、適当なところで手を打たないとこんな仕事はやってられないのだよね。

もし、ModelとViewがもう、複雑なのがたくさんあるようなことになっちゃうようだったら、Observerパターンみたいなのを実装したほうがいい(=トータルで楽)だろうし、今回作ったコレぐらいだったら、いいじゃんModelの中でViewを呼んじゃえば。と、僕は思う。

あと、C#みたいに、言語仕様の中でイベントハンドリングを面倒見てくれてる場合はサクッと乗っかれば良いんだと思う。


お好きなフレーバーを個まで選んでください。
選択中

ソースコードは以下。
ちなみにこんな感じのコードでソースコードを表示してます。jQueryプラグイン「showSource」です。
$.fn.showSource = function(scriptElem) { return this.html('<pre>' + $(scriptElem).html().replace(/[\t<>]/g, function(match) { switch(match) { case '\t': return ' '; case '<': return '&lt;'; case '>': return '&gt;'; } }) + '</pre>'); }

この記事に対するコメント

この記事に対するコメントの投稿



管理者にだけ表示を許可する

この記事に対するトラックバック

トラックバックURL
http://tockri.blog78.fc2.com/tb.php/185-bff50474
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。