- 2007-01-14 (日) 23:28
- action script
正確には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。おいおい他のサンプルも見ていきつつ勉強していこっと。
- Newer: 3D morphable model face animation
- Older: .:: DUBOISmeetsFUGGER ::.
Comments:0
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パターン [...]