This article has been localized into Japanese by the community.
MVCとは何か
MVCとはModel-view-controllerの略で、グラフィカルユーザーインターフェイスの開発黎明期である1970年代に開発されたソフトウェアパターンの一つです。MVCはアプリケーションを3つの領域に分割することを目指したものです。
モデル
モデルには、データとビジネスロジックが格納されます。典型的なWebアプリケーションにおいては、モデルはデータベースのテーブルやアプリケーションが扱うその他一切のオブジェクトを表します。
ビュー
ビューとは、モデルを実際に視覚的に表現するためのものです。典型的なWebアプリケーションにおいては、ビューはモデルをユーザーに表示するためのページです。そのページはデータを入力するフォームだったり、データを出力するものであったり、その両方のこともあります。ビューはモデルのすべてを表示する必要はありません。また、モデルは2つ以上のビューを持つこともあります。
コントローラー
コントローラーは、モデルとビュー間の一切の通信を処理します。典型的なWebアプリケーションにおいては、ユーザーがページを読み込んだりボタンをクリックしたとき、コントローラーに属するメソッドが呼び出されます。メソッドにおいて、コントローラーは、必要に応じてモデルを更新したり、新しく生成したビューを返します(このメソッドはアクションと呼ばれます。詳細は後ほど解説します。)
MVCの誕生
MVCパターンは1970年代に発表されたのですが、その後30年は大した注目を集めませんでした。PerlやPHP、クラシックASPといった初期のWeb言語はデザインパターンをあまり意識しておらず、ASP.NETのリリース時でさえ、MVCはまだASP.NETに取り込まれてはいなかったのです。確かに、MVCの技術を自らのプロジェクトに用いることは可能でしたが、人気のあるフレームワークで積極的にMVCを推奨するものはありませんでした。
そして2004年、Ruby on Railsがリリースされます。Ruby on Railsは、Ruby言語を基にしたWeb開発用のフレームワークであり、MVCパターンから大きな影響を受けていました。このリリースによってMVCに再び注目が集まったと思われ、ほどなくして、MVCパターンを軸としたPHPフレームワークが多数リリースされました。これによってMVCパターンは一躍有名となりました。MicrosoftがVisual Studio IDE(統合開発環境)において、徹底的なツールによるサポートとともにMVCを.NET frameworkに実装する決断をしたのも、おそらくそのためでしょう。ASP.NET MVCは2007年にリリースされましたが、バージョン1.0が登場したのは2009年になってからのことでした。
次章からは、主にASP.NET WebFormsをはじめとする他の選択肢との比較を行いつつ、ASP.NET MVCについて、さらに深く見ていきましょう。