2009-03-04 9 views
6

私は自分のコントローラ内に自分のビューデータクラスを入れ子にしていて、その数が増えるにつれて、これが良い考えであるかどうか自問し始めます。次に、/ Viewsと/ Controllersのディレクトリをこれらのもので汚染しているように見えます。強く型付けされたasp.net-mvcをどこに置くべきですか?

私はここで行方不明のコンベンションはありますか?多分/ ViewDataディレクトリですか? idk、私のビューデータクラスの良い場所は何ですか?

答えて

0

私はまさにあなたが示唆していることをしました。私は強く型付けされたビューデータを/ ViewDataに収めています。私は\ Modelディレクトリに置くことを考えましたが、ネストされたディレクトリが多すぎるプロジェクトは好きではありません。 \ ViewDataはまたKiggと同じものです。

0

私は自分のビューデータクラスをそれ専用のプロジェクトに入れました。彼らはDTOであり、彼ら自身のプロジェクトにそれらを置くことは、彼らが建築の層の上の何にも依存しないことを強制する。

DTOとしてビューに配信することは、それらを使用するための単なる方法です。私は、サービスバス上のメッセージの中で、何時でも電線の上にそれらを送るかもしれません。

3

私には慣例がありません。私はちょうど/Model/ViewModel/BlahViewModel.csの下に私のものを置くなど、私は別のプロジェクトにそれらの特定の必要性があるまでそれらを入れませんでした。後で必要に応じて移動することは難しくありません。

0

あなたは私があなたのオブジェクトのドメインごとに推薦するあなたのコードの名前空間の構造を表している必要がありますMVCとフォルダ構造を使用しているので、あなたは別々のフォルダにグループあなたのコントローラ、モデルやサービスをすべき

我々は

を使用します
  • ドメイン名

     Controllers 
        Model 
        Services 
    
+0

右が、ビューデータクラスを配置しますか?コントローラとビューはそれらに依存します。 –

+0

モデルフォルダでは、モデルをコントローラからのビューに渡します。 MvcContribには、ViewData.Add(modelInstance)やViewData.Getなどのビューデータにデータモデルを渡すための優れた拡張機能があります。() – Richard

関連する問題