2

さまざまなMVCの質問やブログ投稿で説明されているように、 ASP.NETMVCプロジェクトのレイアウトは慣例に重きを置いています。

Controllersそのフォルダにやみくもにサブディレクトリを作成しました。

これは正しくないと思います。

代替テキストhttp://www.imagechicken.com/uploads/1252003002097179400.png

質問: ViewModelを保存するディレクトリで一般的に受け入れられている規則は何ですか?あなたの提案は何ですか、または確立された慣習は何ですか?

4

3 に答える 3

11

コントローラとビューと一緒に「モデル」フォルダを使用します。あなたのプロジェクトで空になっているものと同じです(私はエリアを使用しません)。

「MVC」モデルの「M」は別のアセンブリになります。Webアセンブリの唯一のモデルは、プレゼンテーション/編集モデルです。

Modelsフォルダー内には、通常どおり名前空間ごとのサブフォルダーがあります。ので、私は持っています:

Vertex.Data(リポジトリなどとのアセンブリ)

Vertex.Web

コントローラー
  BarController
  FooController
モデル
  バー
    BarListItem
  Foo
    FooDetail
    FooListItem
ビュー
  バー
  Foo
  共有

...等。

于 2009-09-03T17:40:28.557 に答える
7

私は通常、すべてのビューのモデルを作成します。プロジェクト内の他のオブジェクトの正確なマップである場合でも、使用できます。このようにして、私のビューとそれに必要なモデルは、アプリケーションの他の部分から切り離されます。また、ビューのモデルを拡張するだけで、将来的にビューにデータを追加するのも非常に簡単になります。

事前にもう少し作業が必要で、オブジェクトを複製しているように見えることもありますが、私は分離を好みます。

すべてのビューモデルをMVCプロジェクトで作成されたmodelsディレクトリに保存します。それらの「モデル」は、私の見解に1対1で対応しています。ビューモデルが単なる基本的なデータホルダー以上のものになる場合は、Modelsフォルダー内のサブフォルダーを使用します。サブフォルダーには、そのビューを表すために必要なすべてのビットとピースが含まれます。

于 2009-09-03T17:43:37.847 に答える
5

(View)ModelsはModelsディレクトリ(新しいASP.NET MVCプロジェクトを作成すると空になります)に配置する必要があるという考えだと思います

個人的には、メカニズムではなく機能の周りに名前空間を配置する方が理にかなっていますが、これはモデルに関しては重要ではありませんが、コントローラーとビューに関してはいくつかの影響があります。

于 2009-09-03T17:42:51.530 に答える