4

大規模な (100 以上のコントローラーと成長中の) MVC プロジェクトで URL ルーティングを管理するための戦略は何ですか? Areas は役に立ちましたが、入れ子にできないため、その有用性は限られているようです。プロジェクトが大きくなるにつれて、いくつかの大きな問題点に気付きました。

  1. SEO に適したルート (すべての SEO ルートには特別な定義が必要です)
  2. 従来のルートのリダイレクト (301 の古い URL を更新された同等のものに変換する必要があります)
  3. テストルート (手動テストよりも優れていて、セレンより軽いものはありますか?)

また、ルート数が増えるとパフォーマンスが低下しませんか?ルートが定義される方法は、パフォーマンスが最小O(n*k)であることを示唆しています。ここnで、 は定義されたルートの数、kは URL の長さです。

4

1 に答える 1

2

これを簡単にするために考慮すべきいくつかの質問があります。

  • コントローラー間に共有機能はありますか?
  • コントローラーの汎用パターンを作成し、コントローラーによって発生したイベントの一部を使用して汎用機能を提供する方法はありますか (つまり、一貫したパターンで DB からデータをプルします)。
  • 各コントローラーの基本的な違いは何ですか?

これらの質問の理由は、いくつかの解決策が考えられるからです。

  • IIS 7 以上で実行していると仮定すると、機能を領域ごとに複数の MVC プロジェクトに分割できます。これは、IIS 7 以降 (展開の場合) でははるかに簡単になります。
  • データを提示する一貫したパターンを想定すると、汎用コントローラーまたはルートを使用すると、これがはるかに簡単になり、コントローラーを折りたたむことができます。
  • 基本コントローラーを使用すると、個々のコントローラーに必要な特殊化を提示しながら、機能を共有できます。

全体として、目的に基づいてコード ベースを複数の MVC プロジェクトに分割することをお勧めします。これにより、プロジェクトが成長し続けるにつれて失われつつある正気の感覚を確立するのに役立ちます。

于 2012-08-07T11:55:04.743 に答える