Más contenido relacionado
La actualidad más candente (20)
20090606
- 1. はやわかり ASP.NET MVC
あおい情報システム
どっとねっとふぁん
Web アプリケーションフォーラムリーダ
小野 修司
VSUG DAY 2009.6.6
- 2. Web フォームの特徴
• コントロールのドラッグ&ドロップ
• イベントドリブン
– ポストバック
– ビューステート
• コードはできるだけ書かない
– ミスの入り込む余地を少なくする
– ユーザコントロール/カスタムコントロールの
活用
– ロジックはコントロール内に隠蔽
• コントロール指向の開発
VSUG DAY 2009.6.6
- 3. ASP.NET MVC の特徴
• コントロールを使わない ( 使えない、では
なく)
– HTML ヘルパー
• URL (メソッド) = メッセージパッシ
ング
• ロジックは責務を負うべき場所に記述
– Model - ビジネスロジック
– Controller - アプリケーションロジック
– View - できるだけロジックを持たな
い
• テストによりミスの入り込む余地を少なく
する
VSUG DAY 2009.6.6
- 4. ブラウザ ブラウザ
Page ルーティング
View
コントロー
ルツリー
Controller
Model
ASP.NET コア
認証、セッション等
VSUG DAY 2009.6.6
- 5. ASP.NET のページ呼び出し
HttpContext
Handler
リクエストパスからページ
のインスタンスを生成する
HttpContext の Handler プロ Page
パティにインスタンスをセ : IHttpHandler
ット
ProcessRequest()
Handler にセットされてい
るオブジェクトの
ProcessRequest メソッドを
呼び出す
VSUG DAY 2009.6.6
- 6. ASP.NET MVC のルーティング
• MapRoute (拡張メソッ
ド)は MvcRouteHandler HttpContext
を利用
– MvcHandler を取得 Handler
• リクエストパスを書き換
える
– ~/UrlRouting.axd
• リクエストパスからページ
のインスタンスを生成する MvcHandler
: IHttpHandler
• HttpContext の Handler プロ
パティにインスタンスをセ
ット ProcessRequest()
• Handler を MvcHandler に
置き換える
• Handler にセットされてい
るオブジェクトの
ProcessRequest メソッドを
呼び出す VSUG DAY 2009.6.6
- 7. MvcHandler Contoroller
ProcessRequest() ViewResult
ProcessRequest()
WebForm ViewPage
ViewEngine : Page
VSUG DAY 2009.6.6
- 8. ASP.NET MVC は
• 開発者に自由な選択肢を提示する
– ソースコードの開示
• MS-PL による提供
– 改変が容易
• Model
– そもそもデフォルトがない
– POCO 、 LINQ to SQL 、 EDM 、リポジトリパターン、
DI コンテナ
• View
– デフォルトは ViewPage
– IViewEngine を利用し、置き換え可能
• Controller
– デフォルトは Controller クラスを継承
– IControllerFactory を利用し、置き換え可能
VSUG DAY 2009.6.6