その他のアーキテクチャパターン

前回紹介した、
http://osiris.sunderland.ac.uk/~cs0her/COM379%20Lectures/Lecture19.pdf
にあるVisualProxyパターンや、Fowlerサイト
http://www.martinfowler.com/eaaDev/uiArchs.html
(日本語解説:http://d.hatena.ne.jp/propella/20071230/p1
にあるVisualWorksSmalltalkの一種)ApplicationパターンやMVPなどもある。


だが、Webの情報も少ないだろうから今回はパス。

PACとMVCどっちを取るか

どちらもGUIアプリでViewとModelを切り離すのでは共通している。
そしてPACは基本的にMVCの長所をカバーしていそうだ。
するとPACのMVCにない長所と短所の天秤になる。


(PACのおさらい用 from Wikipedia

PACの長所はなんだろうか。
まず、その構造からしコンポーネントで分けて(ドメインモデルなども)設計できるので粒度が小さくなること。
階層を考えないといけないのが難だが、逆にそれを考えることで各エージェントの粒度が揃ってきそう。


あとは、以下(英語)で述べられてるようにマルチスレッドなアイディアで、他のコンポーネントやデータの準備が終わらなくてもユーザーに今必要な画面をまず見せられること、らしい。
http://en.wikipedia.org/wiki/Presentation-abstraction-control
http://dev.openwengo.com/trac/openwengo/trac.cgi/wiki/PAC
ただ今回は、その差が生きるほど大きなアプリを作る気はないから、これは採用基準からは外そう。

もうすでにあるFlexのフレームワーク

ここまできて、Flexフレームワークで世にあるものをまとめた良いエントリーを見つけた。
オープンソースFlex開発フレームワークが示すプラットフォームの大きな動き


Cairngormを始め、PureMVC、Model-Glue、Foundry、Guasax Flex Framework、ARP、Flest、EasyMVC、Adobe FAST、、、知らなかったのも多い。
MVCと書いてあるのが多いが、ちょっと見て仕組みを見てみよう。特に軽量そうなModel-Glueが気になる。