FlashとMVCパターン

正確にはMVCパターンはデザインパターンではないようですが、あまり気にせず進めていきます。

アプリケーションの構造を、その役割ごとに、Model, View, Controllerの3つに分けて考えることで、役割の所在を明らかにでき、修正の際に便利&他人のコードも把握しやすくなるのがメリットでしょうか。

MVCの一般的な考え方は、Javaの書籍などで後日補強するつもり。今回も「Object-oriented ActionScript for Flash 8」の12章で何をやっているかだけを後読のためにメモ。あんまり理解できてないなぁ。

実用的サンプルとして、この章でこれまで作ってきた「参加者リストアプリケーション」をMVCで再設計するというもの

Model:
データ保持の役割。また、データが変更された時、それを他に通知する役割を持つ。→つまりObserverパターンで言うところのsubjectの役割を果たす。このサンプルではModel = Observerパターンのsubject的な用途で使用されている。

View:
ユーザーとの入出力を担当する部分。「ボタンが押された時」「押された時に実行するメソッド」が設定されている。ModelとControllerへのprivate参照を持つ。ObserverパターンのObserver役(Subjectの変更を受け取る)も担う。

Controller:
コンストラクター内で、Modelへのprivate参照を持たせている。そのmodelを変更するためのメソッド(サンプル中ではaddPerson, removePersonメソッド)が定義されている。その点でControllerということなのかな。

あとはflaでコンストラクトするだけで完成。クラス内参照の関係もあるのでMCVの順に生成している。

以上なのだけど、機能の分化の定義が、「メソッドを定義した場所」なのか「メソッドの実行命令を出す場所」を指すのかがいまいちわからない。特にVとC。おいおい他のサンプルも見ていきつつ勉強していこっと。

このエントリーをはてなブックマークに追加
はてなブックマーク - FlashとMVCパターン

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://www.trick7.com/blog/2007/01/14-232809.php/trackback
Listed below are links to weblogs that reference
FlashとMVCパターン from trick7
pingback from trace - 大阪てら子 21 「AS3教えて!えらい人」 09-04-04 (土) 17:06

[...] Contoroller – それらを繋ぐもの 【参考】 Model View Controller – Wikipedia trick7 – FlashとMVCパターン [...]

Return to page top