ASP.NETでMVCプログラミング
近い将来、Visual Studio上でMVCモデルを使ったASP.NET Webアプリケーションの開発ができるようになります。今現在、すでにVisual Studio 2008とASP.NET3.5 Extensions Previewによりその基礎技術を知ることができます。今回はその概要についてのお話しをいたします。
MVCプログラミングの概要
MVCとは、Model, View, Controllerの頭文字をとって作られた造語で、複数のウィンドウが集まってひとつの系を成すようなプログラムを開発するための方法論です。Mode, View, Controllerと3つに分類されたオブジェクトが相互に情報をやり取りして動作します。
Modelは、画面に表示したいオブジェクトそのもので、データ管理だけを専門に行います。
Viewは、表示を引き受けるオブジェクトで、Modelオブジェクトを「どのように表示するか」を知っています。出力関連の処理を受け持つオブジェクトと考えることができます。また、1つのModelに対して複数のViewを作成することもでき、このときには同じModelの情報を異なった方法で表示することができるようになります。
Controllerは、ユーザーからの要求を受け付け、ModelやViewを操作します。入力関連の処理を受け持つオブジェクトと考えることができます。
MVCプログラミング手法は、おもにデスクトップアプリケーションの開発で使われているのですが、ASP.NETの環境でもMVCでプログラミングできるようになります。
開発環境
ASP.NETでMVCプログラミングを行うためには以下の環境が必要です。
OS: Windows Server 2003、Windows 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することができます。
(私が確認したところ、日本語版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フレームワークでは、URLをControllerクラスに直接マップします。その為、各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に関するドキュメント
https://asp.net/downloads/3.5-extensions/
ASP.NET 3.5 Extensions PreviewのReadme
https://asp.net/downloads/3.5-extensions/readme/
ASP.NET 3.5 Extensions Preview QuickStart
https://quickstarts.asp.net/3-5-extensions/
ASP.NET MVC Toolkit
https://asp.net/downloads/3.5-extensions/MVCToolkit.zip
ScottGuさんのブログ
https://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx
https://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx
https://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx
Comments
Anonymous
December 18, 2007
PingBack from http://geeklectures.info/2007/12/18/aspnet%e3%81%a7mvc%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/Anonymous
May 07, 2008
Visual Studio 2008 Service Pack 1 ( 以下 SP1) に搭載される予定の機能の一つに Dynamic Data 機能があります。 この Dynamic Data 機能はデータベース情報へのアクセスをより簡単Anonymous
December 21, 2008
ネタ元: Getting Started with ASP.Net MVC Framework - Guy Burstein's Blog ASP.NET MVC Frameworkを始めるに当たって