2

私には本当に2つの質問があります。Convention over Configurationで新しいフォルダはいつ追加しますか?

私は人々が自分のプロジェクトにサービスフォルダを追加するのを見る。そのフォルダの目的は何ですか?

サービスとViewModelsのフォルダが表示されます。今私はリポジトリについての記事を横断しました。それで、新しい使用方法があるクラスがあるたびに、そのクラスを作成する必要があります。たとえば、Repositoryクラスがある場合、Repositoryフォルダを作成し、Modelsフォルダの代わりにそこに配置する必要があります。

答えて

3

モデルフォルダは、[ビューモデル]のみです。他には何も入っていません。

MVCプロジェクトから参照する別のクラスライブラリにすべての非UIロジックを移動することをお勧めします。 Google separation of concerns

フォルダの命名は、アーキテクチャによって異なります。ドメイン駆動設計を使用する人は、他の人がのルートフォルダを作成しながら、フォルダ

  • インフラ
  • モデル(ドメインモデルとないモデルを表示)
  • リポジトリ
  • サービス

に名前を付ける傾向があります彼らはすべての関連するクラスを配置するモデルの各タイプ。

+0

良いことがあります:「。モデルフォルダビューモデルのためだけで他に何もそれに属していません」 ASP.NET MVCで?私が読んで見たことは、ドメインモデル(オブジェクトまたはデータベースからまっすぐ)かViewModelsのいずれかであることを示しています。事実、多くのMVC記事/チュートリアルでは、個別のViewModelsフォルダを作成するように指示しています。 – dotnetN00b

+0

既存のガイドラインがないためです。誰でも、サンプル、ブログエントリ、またはうまく動作する基本的なMVCプロジェクトを書き上げることができます。この問題は、アプリケーションが大きくなり、アプリケーションのメンテナンスを開始しなければならないときに発生します。 MVC3プロジェクトはUIレイヤーであり、UIロジックのみを含める必要があります。少なくとも、懸念の分離を使用する構造化されたソリューションが必要な場合。 – jgauffin

+0

@ dotnetN00b:これ以上の情報はありますか? – jgauffin

1

フォルダ(一般的に)nothin gは設定上の慣例と関係がある。それらは単なるコンテンツを整理する方法です。これは一般に、そのフォルダ内のすべてのクラスの名前空間(フォルダ名の名前空間)も作成することに注意してください。

具体的なケースでは、最も合理的なことをする必要があります。リポジトリにカスタムPOCOを使用している場合は、リポジトリフォルダを作成することに同意します。しかし、モデルフォルダは実際にはUIで使用されているモデルがそこに格納されるはずのMVCのコンベンションです。

ちょうどあなたが最も論理的な場所にオブジェクトを格納します、とあなたが言った:)

関連する問題