その他のアーキテクチャパターン
前回紹介した、
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)
にあるVisualWorks(Smalltalkの一種)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
ただ今回は、その差が生きるほど大きなアプリを作る気はないから、これは採用基準からは外そう。