「ASP.NET MVC」について

2012/03/15

「ASP.NET MVC」と「ASP.NET」

「ASP.NET」上で動くWebアプリケーションフレームワークが「ASP.NET MVC」。
「ASP.NET」は「.NET Framework」のWebアプリケーションフレームワーク。

※後述のMVCのうち「M」は「ASP.NET」が提供してくれており、「VC」は「ASP.NET MVC」が提供してくれる。ってことは、「ASP.NET」に「MVC」の「VC」を追加したのが「ASP.NET MVC」ってことか。

「ASP.NET MVC」の主な機能

  1. ルーティング機能
  2. フィルタ機能(認証・キャッシュ・例外処理など)
  3. バインド機能(入力データを処理)
  4. ActionResultオブジェクト(コントローラの処理結果を管理)
  5. ビューエンジン(.aspx、.ascx、.masterに対応)
  6. ビューヘルパー(ビュー生成の効率化)
  7. Scaffolding機能(アプリケーションの骨格の自動生成)

MVC方式

MVC(Model-View-Controller)は、「Model:データのアクセス・管理・操作」「View:UI・フロントエンド」「Controller:Viewから受け取ったデータをModelに渡す。Modelの処理結果をViewにフィードバック」から成り立つ。
※「データ」はDBだったりCSVだったりxmlだったりする。

フロントコントローラ方式

フロントコントローラというヤツがリクエストURLを受けて、各ページに割り振る。

どんなリクエストURLが来ても、実行されるのはフロントコントローラ。その後、各ファイルに割り振る(=ルーティング)。
これに対して、各ファイルを直接実行するってのが「ページコントローラ方式」になる。

フロントコントローラ方式とページコントローラ方式

フロントコントローラ方式 ページコントローラ方式
リクエストURL フロントコントローラーが受け、対象のページに割り振る。 対象のページを直接、実行。
サービス終了時 フロントコントローラーだけ、アクセス拒否(ファイル名を変えるとか削除とか)すれば良い。 全体のアクセスを拒否する必要あり。
その他 流行っている。 流行っていない?

その他

「単体テストが行いやすい」「サーバコントローラを使わない」「ASP.NETの知識を十分に活かせる」というのがある。

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい