BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Model-View-Presenter for Web Forms

Model-View-Presenter for Web Forms

原文(投稿日:2011/06/07)へのリンク

ASP.NET Webフォームで、MVCスタイルのアーキテクチャを使うことはできるが、見つけられるもののほとんどはできが悪い。リッチコンポーネントとステートフルな特性を持つWebフォームは、単純にMVCパターンとかみ合うことはない。それでも開発者は、MVCが提供している分離性とテスト可能性にあこがれている。オープンソースプロジェクトのWeb Forms MVPが動き始めている。

Web Forms MVPの主なゴールは、リッチコントロールによる高いレベルの生産性を維持しつつ、ASP.NET MVCが提供する多くのコントロールを提供することである。Web Forms MVPのもっとも簡単なケースは、開発者が単純にコードビハインドファイルのロジックをプレゼンターに移動することである。

Web Forms MVPは、特に複合ページに適していると主張する。Web Forms MVPは、ひとつのページとアクションコントローラを持つよりも、開発者がページを再利用可能なコンポーネントに分割することを推進する。それぞれのコンポーネントは、それ自身のビューととそのプレゼンターをマッチさせる。プレゼンターは、小さく、大部分が独立して、他のものと連携することができる。

このフレームワークは、制御の反転(Inversion of Control)と依存オブジェクト注入(Dependency Injection)の考え方も組み込まれている。公式リリースには、CastleとUnityのライブラリ統合も含まれている。入門プロジェクトであるWeb Forms MVP Contribは、Ninject、StructureMap、Autofacのサポートが提供されている。

もし、あなたがすでに他のフレームワークで、コントローラやビューモデルのテストを行っている場合、多くのロジックをプレゼンターに移行した場合も同じテクニックを使って、テストを行うことができる。フレームワークの多くは、もともとASP.NET MVCで使われているSystem.Web.Abstractionsライブラリから来ている。

この記事に星をつける

おすすめ度
スタイル

BT