BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ASP.NET MVCパイプラインと拡張性

ASP.NET MVCパイプラインと拡張性

原文(投稿日:2011/09/27)へのリンク

ASP.NET MVCは拡張性を考慮して設計されており、プロセシングパイプラインのほとんどあらゆる部分は拡張可能で、自分独自のプロバイダーを使って標準実装を入れ替えることができる。 Simone Chiaretta 氏はブログ投稿「ASP.NET MVCの拡張性入門」で、 ASP.NET MVCパイプラインにおける様々な局面に対して、導入といかにして拡張性が重要になってくるのかについて短い説明を与えている。

ASP.NET MVCパイプラインは以下の部分に分けることができる。

  • ルーティング部分 – ルーティングモジュールは入ってくるURLをルーティング テーブルと突き合わせ、対応する IRouteHandlerを呼ぶ。
  • コントローラ生成 – IControllerFactoryは、ルートパラメータと既定の命名コンベンションを基にコントローラ インスタンスを生成する。
  • アクション実行 – IActionInvokerは実行すべきメソッドを識別し、 IModelBinderがバリデートし、メソッドパラメータをバインドする。 IFilterProviderが適用されるべきフィルターを発見する。Action はタイプActionResultを返す。
  • ビュー – IViewEngineは正しいビューエンジンをインスタンス化し、モデルがビューに渡される。Model Validation Providerを使って、バリデーションルールが読み出され、クライアント側のバリデーションスクリプトとリモート バリデーションスクリプトを作成する。

上記のパイプラインのあらゆるインターフェースは、拡張性を使ってカスタムプロバイダーとして実装することができ、既定の実装を入れ替えることができる。氏は目的に応じた様々なタイプの拡張部分を説明しており、これらの各拡張部をこれ以降の記事でもっと詳細に述べると約束している。

記事 には、ずっと詳しい説明がある。

ASP.NET MVC (Model-View-Controller) はASP.NETで動的なwebサイトを構築するためのパターンベースの方法であり、イベントドリブンな webフォーム の代替手段である。明確な関心事の分離に役立ち、htmlマークアップを完全にコントロールできる。

この記事に星をつける

おすすめ度
スタイル

BT