2009-08-28 1 views
1

デフォルトのASP.NET MVCプロジェクトでは、私が取り組んできたいくつかのMVCプロジェクトでこれまで使用してきたことがわからない「モデル」ディレクトリが設定されています。通常、私はビジネスロジッククラスを格納する別の 'ライブラリ'プロジェクトを持っています。ASP.NET MVC "Models"ディレクトリ:それは何のために良いですか?

私は不思議です:デフォルトのASP.NET "Models"ディレクトリを利用しないで大きなものが欠けていますか?これをうまく使った組み込み機能がありますか?

答えて

8

私は通常、このディレクトリを自分のビューモデルに使用します。ドメインモデルは別々のプロジェクト/アセンブリに存在しますが、ビューモデルはWebプロジェクトと共にModelsディレクトリに保持されます。このディレクトリにモデルを追加すると、自動的にモデルが* .Models名前空間に設定されます。

2

フォルダ自体には特別な機能はありませんが、モデルクラス(ORM生成(LINQ)などのデータクラス)をどこに保存するかについての示唆に過ぎません。

例のクラスは、モデルの基礎データエンティティである顧客、住所、注文などです。

1

私はWidgetFoositの両方を表示するビューを持っている場合、私はちょうどWidgetFoositContextでそれらを包むように私は、一般的に、私はUIの特定のクラスを格納するModelsフォルダを使用して別のプロジェクト/アセンブリ内の私のモデルを維持するので、オブジェクト。私は私のビジネスオブジェクトの組成物を保存するためのモデルのディレクトリを使用

public class WidgetFoositContext { 
    public Widget Widget { get; } 
    public Foosit Foosit { get; } 
} 
1

。製品コントローラーにいる場合は、ProductViewDataクラスを作成して、製品自体と、推奨製品リストと、製品に関するレビュー一覧を作成します。

私は自分のビジネスオブジェクトをかなりシンプルにしたいと思っています。モデルディレクトリは、私が私の見解で必要とするさまざまな形式のデータを一緒に編成する場所です。

5

あなたは何も欠けていません。私の意見では、フォルダが作成される唯一の理由は、単にASP.NET MVCであり、 "M"、 "V"、 "C"のフォルダが必要だったからです。デフォルトでは、ASP.NET MVCは "M"の実装方法を教えていないので、モデルクラスを配置する場所として空白のフォルダが表示されます。あなたはこのフォルダを削除し、あなたが望むところにあなたのモデルを置くことは自由です。