ASP.NETでMVCプログラミング


近い将来、Visual Studio上でMVCモデルを使ったASP.NET Webアプリケーションの開発ができるようになります。今現在、すでにVisual Studio 2008ASP.NET3.5 Extensions Previewによりその基礎技術を知ることができます。今回はその概要についてのお話しをいたします。


 


 


MVCプログラミングの概要


 


MVCとは、Model, View, Controllerの頭文字をとって作られた造語で、複数のウィンドウが集まってひとつの系を成すようなプログラムを開発するための方法論です。Mode, View, Controllerと3つに分類されたオブジェクトが相互に情報をやり取りして動作します。


 


Modelは、画面に表示したいオブジェクトそのもので、データ管理だけを専門に行います。


Viewは、表示を引き受けるオブジェクトで、Modelオブジェクトを「どのように表示するか」を知っています。出力関連の処理を受け持つオブジェクトと考えることができます。また、1つのModelに対して複数のViewを作成することもでき、このときには同じModelの情報を異なった方法で表示することができるようになります。


Controllerは、ユーザーからの要求を受け付け、ModelViewを操作します。入力関連の処理を受け持つオブジェクトと考えることができます。


 


MVCプログラミング手法は、おもにデスクトップアプリケーションの開発で使われているのですが、ASP.NETの環境でもMVCでプログラミングできるようになります。


 


 


開発環境


 


ASP.NETMVCプログラミングを行うためには以下の環境が必要です。


OS:                   Windows Server 2003Windows VistaまたはWindows XP


Framework:        .NET Framework 3.5


DevEnv:            英語版Visual Studio 2008または英語版Visual Web Developer 2008 Express Edition


Etc:                   ASP.NET 3.5 Extensions Preview(※下記参照)


 


※以下のWeb Siteから「ASP.NET 3.5 Extensions Preview」をDownloadすることができます。


http://www.microsoft.com/downloads/details.aspx?FamilyId=A9C6BC06-B894-4B11-8300-35BD2F8FC908&displaylang=en


(私が確認したところ、日本語版Visual Studio 2008または日本語版Visual Web Developer 2008 Express Editionがインストールされた環境にASP.NET 3.5 Extensions Previewをインストールしても正しく動作しませんでした。具体的には、Web Project Template内に”ASP.NET MVC Web Application”が追加されませんでしたので、ASP.NET MVC Application Projectを作成することはできません。)


 


 


ASP.NET MVCアプリケーションの作成


 


上記開発環境が整いましたら、さっそくASP.NET MVC Webアプリケーションを作ってみましょう。Visual Studioプロジェクトテンプレートに”ASP.NET MVC Web Application”が追加されてますのでこのテンプレートを選択し、あたらしいMVCフレームワークを使ったWebアプリケーションを作成します。


ASP.NET MVCアプリケーションのデフォルトのディレクトリ構造には、/Model, /View, /Controllersの3つのディレクトリが作られ、Modelのコードは/Modelディレクトリの下、Viewのコードは/Viewディレクトリの下、Controllerのコードは/Controllerディレクトリの下にそれぞれ保存します。





 


 


MVCオブジェクトの依存関係


 


今までのASP.NET Webプログラミングでは、入ってくるURLに対応するWeb Formが必ず存在し、ここでHTTPリクエストを処理していました。たとえば、/WebApplication1/Default.aspx URLが送られてきたときには、WebApplication1/Default.aspx Web FormがこのHTTPリクエストを処理します。


 


MVCフレームワークでは、URLControllerクラスに直接マップします。その為、各URLに対応したWeb Formは存在しません。Controllerクラスでは、入ってくるHTTPリクエストの処理、ユーザーの入力処理を行い、Modelオブジェクトにユーザー入力を通知し、Viewオブジェクトを呼び出し、それらのリクエストに対するHTML出力の生成を促します。





 


 


終わりに


 


ほんとに概要だけになってしまいました。


実は、ASP.NET 3.5 Extensions Previewには、ASP.NET MVCの他に、以下の機能が含まれております。


 


ASP.NET Dynamic Data


ASP.NET AJAX


ADO.NET Entity Framework


ADO.NET Data Services


Silverlight Controls for ASP.NET


 


もしこれらの機能に興味がありましたら、下記「ASP.NET 3.5 Extensions Previewに関するドキュメント」Web Siteをご覧になってください。


 


 


参考資料Web Site


 


ASP.NET 3.5 Extensions Previewに関するドキュメント


http://asp.net/downloads/3.5-extensions/


 


ASP.NET 3.5 Extensions PreviewReadme


http://asp.net/downloads/3.5-extensions/readme/


 


ASP.NET 3.5 Extensions Preview QuickStart


http://quickstarts.asp.net/3-5-extensions/


 


ASP.NET MVC Toolkit


http://asp.net/downloads/3.5-extensions/MVCToolkit.zip


 


ScottGuさんのブログ


http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx


http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx


http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx


http://weblogs.asp.net/scottgu/archive/2007/12/06/asp-net-mvc-framework-part-3-passing-viewdata-from-controllers-to-views.aspx


http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx


 

Comments (3)
  1. Visual Studio 2008 Service Pack 1 ( 以下 SP1) に搭載される予定の機能の一つに Dynamic Data 機能があります。 この Dynamic Data 機能はデータベース情報へのアクセスをより簡単

  2. ネタ元: Getting Started with ASP.Net MVC Framework – Guy Burstein's Blog ASP.NET MVC Frameworkを始めるに当たって

Comments are closed.

Skip to main content