10

それで、私はASP.NET MVCプロジェクトに着手しています。経験は全体的に良いものでしたが、コントローラーがスパゲッティの混乱になったことにはあまり満足していません. 私はオンライン(CodeCampServerなど)を見回しましたが、コントローラーメソッドがSRP(単一責任原則)にかなり一貫して違反するという同じ問題に苦しんでいるようです-リクエストがaですが、 の場合は をGET更新します。これで、アプリケーション全体の複数の論理ルートを担当するコントローラー メソッドができました。modelPOSTbuttonフォーム上でクリックされ、それに応じて動作します。JavaScript を使用して、各ボタンのクリックを別のフォーム アクションにリダイレクトすることもできますが、何かがうまくstrings - ViewData["foo"] = blah;いかないこともあります... もう 1 つの大きな問題は、魔法の普及です。ビューごとに 1 つの巨大なモデル オブジェクト? ルーターとはちょっと多い?私の目標は保守可能なコードです。機能が積み重なっていくにつれて、その滑りやすい坂道を滑り落ち始めています...structurecontrollercontroller methodsJavaScript

4

2 に答える 2

9

ASP.NET Preview 5 ( CodePlex で入手可能) には、これに対する答えがあります: [AcceptVerbs] 属性です。Phil Haack がブログ投稿で、その使用方法について議論しています。

ビュー データのマジック キーの質問に関しては、興味深い問題です。ビューを半独立したコンポーネントの集まりと考える場合 (特に新しい部分ビューのサポートに照らして)、厳密に型指定されたモデルを作成することはあまり理想的ではありません。お互い。

于 2008-08-30T18:52:47.230 に答える
0

さまざまな人々がこの問題をどのように扱っていますか? モデル フォルダー内の寄せ集めを確認するのに数時間費やしたことはわかっています。フォルダーを作成すると、視覚的な混乱を減らすのに役立ち、一致する名前空間を使用することも大いに役立ちます。

しかし、現時点では私のコントローラーはモノリスです。問題は、私がプロジェクトのこの時点まで学習に集中してきたことです (まだ解決すべきことがたくさんあります)。

私は今、MVC をうまく扱えるようになったので、複雑さを見直して、コントローラーをより適切な名前のよりクリーンな関数に変更することを検討する時が来ました。

他の人はコントローラーをサブコントローラーに分割していますか? (そんな事があれば)

于 2008-11-13T13:12:15.467 に答える