3

ASP.NET MVCプロジェクトは、モデル、ビュー、およびコントローラーの命名規則とフォルダー規則に従います。他のコード(例:アクションフィルター、ハンドラーの委任など)の場合、プロジェクトのフォルダー構造のどこにこれらを配置するかについてのベストプラクティスはありますか?

4

2 に答える 2

3

それを知る良い方法は、実際のベスト プラクティスが何であるかを調べることです。それは、オープン ソース プロジェクトを確認することです。IIRC の NuGet ギャラリーは Asp.Net MVC の担当者によって作成されたため、実際の製品でありながら、彼らがベスト プラクティスと見なしているものの良い例として役立ちます。

https://github.com/NuGet/NuGetGallery

FilterAttributes、HtmlHelpers などをプロジェクトのルートに追加したようです: https://github.com/NuGet/NuGetGallery/blob/master/Website/RequireRemoteHttpsAttribute.cs

また、Phil HaackDavid Ebboは Asp.Net MVC チームで働いていました。彼らの GitHub リポジトリで、彼らがやりたいことを確認できます。

于 2012-04-28T17:13:32.930 に答える
1

そのような標準的な方法はありません。さまざまな開業医がさまざまな方法を提示していますが、すべてに長所と短所があります。ただし、該当する設計上の制約に基づいて、以下にいくつかの指針を示します。

  1. 再利用性

    アクション フィルター、委任ハンドラーなどを再利用可能にしたい場合は、それらを asp.net mvc webroot の専用フォルダーに配置すると、その作業が行われます。そうすれば、そのようなフィルターはすべてグローバル スコープになり、必要に応じて使用できます。

  2. プラガビリティ

    フィルターなどからプラグ可能なモジュールを作成したい場合は、それらを別の DLL にまとめて配置する価値があるかもしれません。ライブラリは、すべてのコンテキスト情報を関数入力として受け取り、必要に応じて再利用できるブラック ボックスと考えることができます。Orchard CMS のプラグ可能なアーキテクチャが気に入りましたhttp://www.orchardproject.net/

asp.net mvc プロジェクトでモデルを整理する方法について、以前に同様の質問をしました。残念ながらあまり反応がありませんでした。 asp.net mvc 3 エリアのモデル

于 2012-04-28T17:46:23.270 に答える