MVC Wikipedia 英語版の記述

 MVC のより公の定義はどういうものなのか。前回掲示した日本語版 Wikipedia の記述より英語版 Wikipedia の記述のほうがより多岐に詳しいようだ。ここの説明を読んでみると、 Swing 、 MFC 、オリジナルの SmallTalk といった MVC と Web の MVC は項目を分けられている。

 モデルに関しては特定のデータアクセスレイヤーを意識しないこと、という風に書かれていた。なるほどなるほど、デスクトップアプリケーションともなれば、データソースはデータベースに特定されない。例えば画像ビューアはディスク上のファイルにストリームアクセスすることはあっても、ODBCに接続はしないだろう。
(抽象化はするかもしれないけど)

 しかし Web のほうは、昨日の予測通り、モデルはデータベースや XML と結びつく、という記述があった。たとえば CakePHP などはモデルがデータベース以外のデータソースとアクセスすることは正直あまり想定されていないと思うが、それでいいという話になってくる。

 また、 Web では、ビューは HTML のことを言うらしい。ということは DataModel-Template-Controller みたいな感じで考えれば、概ね Web エンジニアの嗜好に添えるのか。

 しかしこの構成なら、バリデーションがペリフェラルドライバ扱いでも筋は通るような気がするんだけど……仮にガンダム無双ガンダムがモデル化されてるとして、ゲームパッドの構造体(すなわちリクエストそのもの)をそのまま渡すだろうか?

# 昨日に引き続きガンダム無双を引き合いに出してごめんなさい
# 別にスタッフでもなんでもないです

 このあたりも Web 特性かもしれない。調べていくしかない。