ASP.NET MVCプロジェクトを開始していますが、経験は全体的には良いものですが、私のコントローラーがなったスパゲッティの混乱には喜ばしくはありません。私はオンライン(CodeCampServerなど)を見てきました。コントローラメソッドがSRP(単一責任の原則)に一貫して違反している同じ問題を抱えているようです。コントローラメソッドは、リクエストがあれば単純にレンダリングします。 GETを実行しますが、POSTの場合はモデルを更新します。これで、アプリケーション全体で複数の論理ルートを管理するコントローラメソッドが得られました。つまり、フォーム上でクリックされたボタンを確認し、それに応じて動作します。私は、JavaScriptを使って各ボタンのクリックを別のフォームアクションにリダイレクトすることができましたが、何かがすぐに感じられません...もう一つの大きな問題は、魔法の文字列の拡散です - ViewData ["foo"] = blah;長い話を簡単に言えば、どうやってコントローラのロジックを構成していますか?ビューごとに1つの巨大なモデルオブジェクト?小さなコントローラメソッドとJavaScriptの多くは、ルータですか?私の目標はメンテナンス可能なコードです。機能が積み重なって、滑りやすい斜面を滑り落ち始めています。ASP.NET MVC:コントローラの構成
9
A
答えて
8
0
さまざまな人々がこの問題をどのように処理していますか?私はちょうどカップル時間をモデルフォルダの内部のジャンパーを見直すのに費やしたことを知っています。私は、フォルダを作成することは、視覚的な混乱を減らすのに役立つことを発見している、一致する名前空間を使用すると、あまりにも役立ちます。
しかし、私のコントローラは現在のところモノリスです。問題は、私がプロジェクトのこの時点まで学ぶことに焦点を当ててきたことです。
私は今MVCで良いハンドルを得ています。だから、複雑さを見直し、コントローラを名前のついたクリーンな機能に変更することを検討してみましょう。
他の人がコントローラーをサブコントローラーに分割していますか? (そのようなものがある場合)
関連する問題
- 1. ASP.NET MVCコントローラ
- 2. ASP.Net MVCコントローラは
- 3. ASP.NET MVC:私のコントローラ
- 4. ASP.NET MVCコントローラのライフサイクル
- 5. asp.net mvc - ビューとコントローラ
- 6. ASP.NET MVC - リポジトリ/サービス/コントローラ
- 7. コントローラ内のASP.NET MVCモデルリスト
- 8. ASP.NET MVC - コントローラの仕事
- 9. ASP.NET MVCの足場コントローラ
- 10. 部分ビューのコントローラASP.NET MVC
- 11. Asp.Net Mvcコントローラの静的コンストラクタ
- 12. ASP.NET MVC - ネスティングのルート/コントローラ
- 13. ASP.NET MVCコントローラの設計
- 14. は、コントローラの問題ASP.NET MVC
- 15. ASP.net MVCコントローラ - コンストラクタの使用
- 16. ASP.NET MVCの非同期コントローラ
- 17. ASP.NET MVCの非同期コントローラ
- 18. ASP.NET MVCコントローラのシングルトン辞書?
- 19. ASP.NET MVC 3 - 証明書 - 構成エラー
- 20. ASP.NET MVC構成可能な検証
- 21. ASP.Net MVCランダム、コントローラとビュー
- 22. ASP.Net MVC 3コントローラ継承
- 23. 春豆の構成と同等の<MVC:ビュー・コントローラ・パス=「...」/>
- 24. asp.net mvcのコントローラへのシンプルなAjax呼び出しの作成
- 25. Visual Studio 2008でのASP.NET MVCコントローラの作成
- 26. ASP.NET MVC - MVCでcommom ASP.NETユーザーのロール構成を使用できますか?
- 27. ASP.NET MVC 3モデル継承を使用したコントローラの作成
- 28. asp mvcコントローラの作成
- 29. ASP.NET MVC:アクションのコントローラのメソッドの基準?
- 30. コントローラへのASP.NET MVCコールのセキュリティ
コントローラをコーディングするトリックは、それらを見て、それぞれのアクションメソッドが20行または30行を超えているか、比較的少数である場合、どのように減らすことができますか?基本的にDRYを維持して、やっていることを再考し、そのロジックを適切なSERVICEレイヤに移動します。これは再利用できます。 –
また、ROB CONERYのStoreFront MVCスターターキットをダウンロードして、彼のソリューションを階層化しているかどうかを確認してください。>非常に美しいawesomesauce。 (グーグル、私はこの遅い(早い?!)時のリンクを見つけるのに悩まされることができない、朝の... hth! –