差分

ナビゲーションに移動 検索に移動

ASP.NET MVC

1,742 バイト追加, 2012年3月14日 (水) 08:19
編集の要約なし
== MVC ==
MVCとは「Model(モデル)、View(ビュー)、Controller(コントローラ)」の頭文字をとった1980年代にSmalltalkで確立されたアプリケーションのアーキテクチャパターン。
モデルはビジネスロジック(業務処理)、ビューは表示処理、コントローラはモデルとビューの操作を担当する。モデルはデータとビジネスロジック(業務処理)、ビューは表示処理、コントローラはモデルとビューの連結を担当する。
モデルはビジネスロジックを記述するものだが、作り手によっては単純にデータベースとのマッピングをモデルと呼ぶひともいる。=== モデル ===モデルはビジネスロジックを記述するものだが、作り手によっては単純にデータベースとのマッピングをモデルとなっておりコントローラにビジネスロジックが書いてあるようなシステムも結構見かける。
=== ビュー ===
ビューは名前の通り見た目を表す部分を記述する。ウェブアプリであればHTMLテンプレートに相当する。
最近流行のjQueryあたりを使ってJavaScriptでゴリゴリ動かす処理などもビューである。
=== コントローラ ===
コントローラは、モデルとビューを繋ぐ役割を担う。コントローラは大きくわけてページコントローラ方式とフロントコントローラ方式があり、ASP.NET MVCではフロントコントローラ方式が採用されている。
 
ASP.NET MVCでは、すべてのリクエストはフロントコントローラで受け、ルーティングに従い、個々のコントローラクラスのアクション(クラスメソッド)を呼び出す。
 
{{stub}}
 
== ルーティング ==
リクエストURIを、あらかじめ決められたルールに基づいていくつかのパラメータに分解し、その内容に従って適切なコントローラ・クラスを選択する処理のこと。
 
{{stub}}
 
== アクション ==
アクションとは、フロントコントローラから呼び出されるエントリーポイント。
モデルにデータを渡してごにょごにょさせ、その結果をビューに渡すのが役割。
 
書こうと思えばアクションに壮大なビジネスロジックがかけてしまうが、あまりおすすめできないそうだ。モデルを作るまでもない簡単なロジックなら組み込んでも良い気もする。
 
ASP.NET MVCのアクションは必ずActionResultクラスのインスタンスを返すことになっている。
ActionResultの種類など、詳細は「[[ActionResult クラス (System.Web.Mvc)]]」を参照。
 
{{stub}}
 
== マスターページ ==
ウェブサイトを作るうえで、ヘッダやフッタなどの大枠のデザインは統一されるのが一般的ということで、大枠部分をテンプレート化しておける機能(テンプレートファイル)をマスターページという。
 
便利。
{{stub}}
ビューヘルパーとはデザインパターンのひとつ。
簡単に言うと「ビューの中に複雑なロジックを書くな」という掟。
ヘルパークラスに静的メソッドを用意して、複雑なロジックはそこに記述し、デザイナーなどのプログラマー以外の人も触るであろうビューでは簡潔に1行で書けるようにして、見通しを良くしておきましょうというお話。ヘルパークラスに静的メソッドを用意して、複雑なロジックはそこに記述し、デザイナーなどのプログラマー以外の人も触るであろうビューでは簡潔に1行で書けるようにして、見通しを良くしておきましょうというお話らしい。
ASP.NET MVCではよく使われるであろうビューヘルパーがあらかじめいくつか用意されている。
{{stub}}
== ルーティング ==
{{stub}}
 
== マスターページ ==
{{stub}}
匿名利用者

案内メニュー