私は ASP.NET MVC や SOLID などについていくつか読んできましたが、これらの概念をまとめた小規模から中規模の ASP.NET MVC アプリの簡単な "レシピ" を見つけようとしています。私が最も懸念している問題は、コントローラーが複雑すぎて、Web フォームのコード ビハインド ファイルのようになり、あらゆる種類のビジネス ロジックが組み込まれることです。
小さなデータ駆動型アプリの場合、次のアーキテクチャを検討しています。
- コントローラー: リクエストのみを処理し、適切なサービスを呼び出して、アクションの結果をビューに返します。
- モデル: POCO、すべてのビジネス ロジック、承認などを処理します。リポジトリに依存し、永続化インフラストラクチャをまったく知りません。
- リポジトリ: 実装し
IRepository<T>
、依存性注入を使用し、私のデータベース コードが存在する場所です。POCOを受け取り、返すだけです。
コントローラーとモデルの間にサービスを配置することを検討していますが、メソッド呼び出しを転送するだけの場合、それがどれほど役立つかわかりません。
最後に、モデル コードをカバーする単体テストと、リポジトリ コードをカバーする単体テストと統合テストが必要です (可能であれば、「レッド グリーン」プラクティスに従います)。
考え?