SlideShare una empresa de Scribd logo
1 de 8
はやわかり  ASP.NET MVC

         あおい情報システム
         どっとねっとふぁん
   Web アプリケーションフォーラムリーダ
        小野 修司


         VSUG DAY 2009.6.6
Web フォームの特徴



• コントロールのドラッグ&ドロップ
• イベントドリブン
  – ポストバック
  – ビューステート
• コードはできるだけ書かない
  – ミスの入り込む余地を少なくする
  – ユーザコントロール/カスタムコントロールの
    活用
  – ロジックはコントロール内に隠蔽

• コントロール指向の開発
              VSUG DAY 2009.6.6
ASP.NET MVC の特徴


• コントロールを使わない ( 使えない、では
  なく)
  – HTML ヘルパー
• URL (メソッド) = メッセージパッシ
  ング
• ロジックは責務を負うべき場所に記述
  – Model        - ビジネスロジック
  – Controller   - アプリケーションロジック
  – View         - できるだけロジックを持たな
    い
• テストによりミスの入り込む余地を少なく
  する
                 VSUG DAY 2009.6.6
ブラウザ                   ブラウザ




Page           ルーティング
                                     View
 コントロー
  ルツリー
                       Controller


                                     Model



               ASP.NET コア
              認証、セッション等


                 VSUG DAY 2009.6.6
ASP.NET のページ呼び出し


                                    HttpContext

                                         Handler


 リクエストパスからページ
  のインスタンスを生成する
 HttpContext の Handler プロ                              Page
  パティにインスタンスをセ                                      : IHttpHandler
  ット

                                                   ProcessRequest()
 Handler にセットされてい
  るオブジェクトの
  ProcessRequest メソッドを
  呼び出す
                     VSUG DAY 2009.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
MvcHandler       Contoroller




ProcessRequest()   ViewResult

                                            ProcessRequest()



                    WebForm             ViewPage
                   ViewEngine            : Page



                    VSUG DAY 2009.6.6
ASP.NET MVC は


• 開発者に自由な選択肢を提示する
  – ソースコードの開示
    • MS-PL による提供
  – 改変が容易
    • Model
       – そもそもデフォルトがない
       – POCO 、 LINQ to SQL 、 EDM 、リポジトリパターン、
         DI コンテナ
    • View
       – デフォルトは ViewPage
       – IViewEngine を利用し、置き換え可能
    • Controller
       – デフォルトは Controller クラスを継承
       – IControllerFactory を利用し、置き換え可能


                   VSUG DAY 2009.6.6

Más contenido relacionado

La actualidad más candente

Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
 
CategoLJについて
CategoLJについてCategoLJについて
CategoLJについて
Toshiaki Maki
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introduction
colun
 
Hakodate - simple framework
Hakodate - simple frameworkHakodate - simple framework
Hakodate - simple framework
Hiroaki Murayama
 

La actualidad más candente (20)

Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
 
Hijax - 少しずつAjaxへ
Hijax - 少しずつAjaxへHijax - 少しずつAjaxへ
Hijax - 少しずつAjaxへ
 
20111203
2011120320111203
20111203
 
CategoLJについて
CategoLJについてCategoLJについて
CategoLJについて
 
RESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScriptRESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScript
 
Backbone.jsとSASSでモジュールをつくった話
Backbone.jsとSASSでモジュールをつくった話Backbone.jsとSASSでモジュールをつくった話
Backbone.jsとSASSでモジュールをつくった話
 
何なのc?
何なのc?何なのc?
何なのc?
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introduction
 
Java script
Java scriptJava script
Java script
 
nanocのhelper 利用実例
nanocのhelper 利用実例nanocのhelper 利用実例
nanocのhelper 利用実例
 
PSMTabBarControl
PSMTabBarControlPSMTabBarControl
PSMTabBarControl
 
Hakodate - simple framework
Hakodate - simple frameworkHakodate - simple framework
Hakodate - simple framework
 
Web ブラウザの仕組み
Web ブラウザの仕組みWeb ブラウザの仕組み
Web ブラウザの仕組み
 
Rubyによるクローラー開発
Rubyによるクローラー開発Rubyによるクローラー開発
Rubyによるクローラー開発
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
Tips for bash script
Tips for bash scriptTips for bash script
Tips for bash script
 
node.js
node.jsnode.js
node.js
 
SPAのルーティングの話
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話
 
Varnish
VarnishVarnish
Varnish
 
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
 

Destacado (7)

ASP.NETで お手軽Ajax実装
ASP.NETで お手軽Ajax実装ASP.NETで お手軽Ajax実装
ASP.NETで お手軽Ajax実装
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
 
Asp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソAsp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソ
 
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5
 
MVC の Model を考える
MVC の Model を考えるMVC の Model を考える
MVC の Model を考える
 
コーディング不要! Entity Framework 6.1.3 + ASP.NET MVC 5 サンプル アプリケーション構築 手順書
コーディング不要!Entity Framework 6.1.3 + ASP.NET MVC 5 サンプル アプリケーション構築 手順書コーディング不要!Entity Framework 6.1.3 + ASP.NET MVC 5 サンプル アプリケーション構築 手順書
コーディング不要! Entity Framework 6.1.3 + ASP.NET MVC 5 サンプル アプリケーション構築 手順書
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 

Similar a 20090606

Spring mvc
Spring mvcSpring mvc
Spring mvc
Ryo Asai
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
 
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョンWeb アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Akira Inoue
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー
Akira Inoue
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
Shotaro Suzuki
 

Similar a 20090606 (20)

20120609
2012060920120609
20120609
 
20100313
2010031320100313
20100313
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
ASP.NET MVC 1.0
ASP.NET MVC 1.0ASP.NET MVC 1.0
ASP.NET MVC 1.0
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
Ajax basic
Ajax basicAjax basic
Ajax basic
 
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版ありますElixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
Elixir入門「第3回:Phoenix 1.2で高速Webアプリ & REST APIをサクッと書いてみる」【旧版】※新版あります
 
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョンWeb アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
 
20120128
2012012820120128
20120128
 
20080524
2008052420080524
20080524
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
Mvc conf session_3_takehara
Mvc conf session_3_takeharaMvc conf session_3_takehara
Mvc conf session_3_takehara
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー
 
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
 
A 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web StackA 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web Stack
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
 

Más de 小野 修司 (20)

20140322
2014032220140322
20140322
 
20121215
2012121520121215
20121215
 
20120616
2012061620120616
20120616
 
20120425
2012042520120425
20120425
 
20110607
2011060720110607
20110607
 
20100224
2010022420100224
20100224
 
20100218 lt
20100218 lt20100218 lt
20100218 lt
 
20100218
2010021820100218
20100218
 
20091207
2009120720091207
20091207
 
20090711
2009071120090711
20090711
 
20090418
2009041820090418
20090418
 
20090328
2009032820090328
20090328
 
20081003
2008100320081003
20081003
 
20080627 2
20080627 220080627 2
20080627 2
 
20080627 1
20080627 120080627 1
20080627 1
 
20080213
2008021320080213
20080213
 
20080201
2008020120080201
20080201
 
20071204
2007120420071204
20071204
 
20071030
2007103020071030
20071030
 
20070310
2007031020070310
20070310
 

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