10

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

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

  • コントローラー: リクエストのみを処理し、適切なサービスを呼び出して、アクションの結果をビューに返します。
  • モデル: POCO、すべてのビジネス ロジック、承認などを処理します。リポジトリに依存し、永続化インフラストラクチャをまったく知りません。
  • リポジトリ: 実装しIRepository<T>、依存性注入を使用し、私のデータベース コードが存在する場所です。POCOを受け取り、返すだけです。

コントローラーとモデルの間にサービスを配置することを検討していますが、メソッド呼び出しを転送するだけの場合、それがどれほど役立つかわかりません。

最後に、モデル コードをカバーする単体テストと、リポジトリ コードをカバーする単体テストと統合テストが必要です (可能であれば、「レッド グリーン」プラクティスに従います)。

考え?

4

4 に答える 4

8

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

ファットコントローラー

于 2008-12-09T10:20:25.537 に答える
3

簡単なレシピ:(表示)ASP.NETを使用したプレゼンテーション層、(コントローラー)コードビハインドまたはAJAXサービス層、(モデル)アプリケーションサービス層、ビジネスモデル層、および永続性/データアクセス層。

もちろん、明確に読みやすく理解しやすいアプリケーションを構築するために、複雑さに対処するためのさまざまな方法を細かく分析することができます。

私が非常に良いと思ったこの主題に関する最近の談話については、この新しく出版された本をチェックしてください:Microsoft .NET:企業向けアプリケーションの設計

于 2008-12-16T18:28:59.590 に答える
2

これらのウォークスルーは非常に役に立ちます。

MVC フレームワークとアプリケーションの構造

チュートリアル: Visual Studio で単体テストを使用して基本的な MVC プロジェクトを作成する

参照: aspnet-mvc-structuring-controllers

于 2008-12-09T10:21:10.230 に答える
2

ロブ・コネリーがベストアンサー IMO を持っています。

彼のMVC Storefront Applicationをチェックしてください。これには、完全なソース コードビデオ チュートリアルが付属しています。

于 2008-12-09T10:34:12.357 に答える