2009-06-25 10 views
7

私はApp_Codeフォルダに静的メソッドを使用するのに慣れていますが、このフォルダはMVCテンプレートで使用できなくなりました。これらの静的メソッドは、サイト全体で使用します。一般的なメソッドをMVCアプリケーションに配置する場所

どのようにMVCで行われますか?ベストプラクティスは何ですか?
一般的な方法をどのように呼びますか?

答えて

8

通常、私は補助クラスを保持するために、同じ解決策で1つ以上のクラスライブラリプロジェクトを用意します。クラスライブラリプロジェクトでクラスを作成し、そのプロジェクトのDLLをMVC Webアプリケーションで参照します。例外は、実際のモデルまたはビューのみのモデルです。これらはModelsフォルダに置くことができます。

+0

私は実際にモデルを別のアセンブリに入れて、モデルフォルダにViewModelを持っています。しかし、それは質問の点でここにもそこにもありません。 – Sekhat

+0

それは私の練習でもあります。 – tvanfosson

1

@tvanfossonには別のプロジェクトがあり、そこにすべてのクラスライブラリがありますが、単純なままにしたい場合は、プロジェクト内でフォルダを作成し、すべての.cs/.vbファイルをフォルダ内に保存することができます

1

私のメソッドは、通常、MVCでは3つの領域に分類されます。ビジネス・メソッド、コントローラー・フロー、およびプレゼンテーションが含まれます。

グローバルなロジックがある場合、私のビジネスメソッドはサービスに入ります。単一のサービスに、おそらくそれの背後に隠れたサービスのグループを統合します。

コントローラロジックの場合、コントローラに対して拡張メソッドを作成します。プレゼンテーションのために

私はHTMLヘルパーに取り付けた拡張メソッドを作成し、<% = Html.MyCustomPresentationMethod()%>

5

でそれらを呼び出す私は通常のようには見えません静的メソッドが含まれているユーティリティと呼ばれるクラスを作りますどこにでも収まる。

5

これはアプリのサイズによって異なります。小さなアプリケーションの場合は、フォルダを作成してクラスをその内部に配置します。クラスがたくさんある場合は、それらのプロジェクトを別々に作成してください。

関連する問題