ビューデータ クラスをコントローラー内にネストしてきましたが、その数が増えるにつれて、これが良いアイデアかどうかを自問し始めています。繰り返しになりますが、/Views および /Controllers ディレクトリをこれらのもので汚染することについては、何かがおかしいようです。
ここで見逃している規則はありますか? おそらく/ViewDataディレクトリですか?idk、viewdata クラスに適した場所はどこですか?
ビューデータ クラスをコントローラー内にネストしてきましたが、その数が増えるにつれて、これが良いアイデアかどうかを自問し始めています。繰り返しになりますが、/Views および /Controllers ディレクトリをこれらのもので汚染することについては、何かがおかしいようです。
ここで見逃している規則はありますか? おそらく/ViewDataディレクトリですか?idk、viewdata クラスに適した場所はどこですか?
コンベンションを知りません。私は自分の物を下/Model/ViewModel/BlahViewModel.cs
に置くなどしました。特別な必要が生じるまで、それらを別のプロジェクトに入れることはしませんでした。必要に応じて後で移動することは難しくありません。
ビューデータクラスを、それ専用のプロジェクトに配置しました。それらはDTOであり、それらを独自のプロジェクトに配置することで、アーキテクチャレイヤーの上の何にも依存しないようになります。
それらをDTOとして使用してビューに配信することは、それらを使用するための1つの方法にすぎません。いつか、サービスバスなどのメッセージの中で、それらを有線で送信する可能性があります。
MVC を使用しており、フォルダー構造はコードの名前空間構造を表す必要があるため、オブジェクト ドメインごとに、コントローラー、モデル、およびサービスを個別のフォルダーにグループ化することをお勧めします。
私たちは使用します
ドメイン名
Controllers
Model
Services
私はあなたが示唆していることを正確に行いました。/ViewData に強く型付けされたビューデータがあります。\Model ディレクトリに配置することを考えましたが、プロジェクトにネストされたディレクトリが多すぎるのは好きではありません。\ViewData もKiggの機能です。