TOC

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について、さらに深く見ていきましょう。


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!