【ASP】【C#】【VB】ASP.NET MVC(Model-View-Controller)(基礎知識編)

ASP.NETとの差異

 * ASP.NETとついているが、全く別物と考えた方がいい。(思想が全く違うっぽい。。。)
 * ASP.NETの特徴である以下の技術を使用しない
  + イベント・ドリブンモデル(ポストバックなども含む)
  + サーバ・コントロール
http://www.atmarkit.co.jp/fdotnet/aspnetmvc/aspnetmvc01/aspnetmvc01_01.html

ASP.NET MVCの利点

一般的な利点

 * 各部の独立性が高まり、保守しやすい
 * 複数名で開発する場合、分業しやすい
 * 単体テストが行いやすい

ASP.NETならではの利点

 * データベースのテーブルから自動的にデータモデルを作成可能(逆も可能。作成方法は、後述「Model作成」を参照のこと)
 * データ アノテーションにより、Modelのデータ検証が容易
http://thinkit.co.jp/story/2011/03/16/2058?page=0,1
http://msdn.microsoft.com/ja-jp/asp.net/ff642519

参考文献

* デメリットのことも知っておかないと...
[1]
http://msdn.microsoft.com/ja-jp/magazine/dd942833.aspx
上記には、「HTML ヘルパー」が使えない的なことが書かれていたが、ASP.NET MVC2では用意されているっぽい
http://www.atmarkit.co.jp/fdotnet/scottgublog/20100113stronghelper/stronghelper.html

[2]
http://cs.gogo-asp.net/blogs/naoki/archive/2008/12/09/ASP.NET-MVC-_6E30459B9B5284766A30DD30A430F330C830_10_0B506830C730E130EA30C330C830_5_0B50_.aspx
上記には、「通常のサーバーコントロールが原則利用できない」や「ポストバックがが使えない」ことがデメリットとして書かれていたが、以下には、すれが逆にメリットになるとの記載あり。(今までの機能に慣れたASP.NET開発者にとっては使いづらいのかも...)
http://www.atmarkit.co.jp/fdotnet/aspnetmvc/aspnetmvc01/aspnetmvc01_01.html