10


5

単純なASP.NET MVCアプリを作成する方法

私はASP.NET MVC、SOLIDなどについていくつか読んできましたが、これらの概念をまとめることができる、中小規模のASP.NET MVCアプリケーションのための簡単な「レシピ」を見つけようとしています。私が最も懸念している問題は、非常に複雑で、Webフォームのコードビハインドファイルのような、あらゆる種類のビジネスロジックを含むコントローラーになることです。

私は、小さなデータ駆動型アプリのために、次のアーキテクチャを検討しています。

  • コントローラー:要求のみを処理し、適切なサービスを呼び出し、 アクション結果をビューに返します。

  • モデル:POCO、すべてのビジネスロジック、承認などを処理する 永続インフラストラクチャをまったく知らない、リポジトリに依存します。

  • リポジトリ: `IRepository`を実装し、依存性注入を使用します 私のdbコードが常駐する場所。 POCOのみを受け取り、返します。

私はコントローラとモデルの間にサービスを持つことを検討していますが、それらが単にメソッド呼び出しを渡すだけではそれがどれほど役に立つのかわかりません。

最後に、モデルコードをカバーするユニットテストと、リポジトリコードをカバーするユニット統合テストがあるはずです(できれば「赤 - 緑」の慣習に従ってください)。

考えですか?

4 Answer


8


最近、Ian Cooperがまさにこれについて良い投稿をしています。

http://codebetter.com/blogs/ian_cooper/archive/2008/12/03/the-fat-controller.aspx[The Fat Controller]


3


簡単なレシピ:(* view )ASP.NETを使用したプレゼンテーション層、( controller )分離コードまたはAJAXサービス層、( model *)Application Services層、Business Model層、およびPersistance / Data Access層。

もちろん、わかりやすく理解しやすいアプリケーションを構築するために、複雑さに対処するためのさまざまな方法でスライスしてさいの目に切ることができます。

この話題についての最近の話題については、私が非常に優れているとわかったので、この新しく出版された本をチェックしてください。 Microsoft .NET:アプリケーションの設計企業]。


2


これらのチュートリアルは非常に役に立ちます。

http://quickstarts.asp.net/previews/mvc/mvc_Framework.htm[MVフレームワークとアプリケーションの構造]
http://wickstarts.asp.net/previews/mvc/mvc_CreateMvcProjectWalkthrough.htm[チュートリアル:Visual Studioでのユニットテストを使用した基本的なMVCプロジェクトの作成]
https://stackoverflow.com/questions/36197/aspnet-mvc-structuring-controllers[aspnet-mvc-structuring-controllers]も参照してください。


2


http://blog.wekeroad.com/[Rob Conery]がIMOの最良の回答を得ています。

完全な source codeとhttp://www.aspが付属している彼の MVC Storefront Applicationをチェックしてください。 .net / learn / mvc-videos /#MVCStorefrontStarterKit [ビデオチュートリアル]