C#MVC-フォルダー構造-クラスを配置する場所?
-
07-07-2019 - |
質問
asp / net MVCでは、プロジェクトはモデル、ビュー、コントローラーに分割されます。これまでのところ結構です。
クラス「person」があるとします。これは、人のコントローラーを使用して、人モデルを使用してデータを取り込みます。
person.csクラスを配置するのに最適な場所はどこですか?コントローラーまたはモデルのフォルダーに?あなたは何をしますか?
ありがとう
フランク
解決
ソリューションで別のクラスライブラリプロジェクトを作成し、クラスを定義してから、ASP.Net MVCアプリケーションでライブラリを参照します。
WebApp Solution |-MyMVCProject |-Models |-Controllers |-Views |-MyMVCProject.Domain (you'd put your models here) |-Person.cs |-MyMVCProject.Services (you'd put entity services here)
他のヒント
Personをモデルと見なし、Modelsフォルダーに配置します。これは、ビューモデルを保持する場所です。通常、ビジネスモデルは別のデータプロジェクトに保持されます。必要に応じて他のプロジェクトで使用できるように、データレイヤーが自己完結型であることが望ましいです。他のタイプのクラス(コントローラーやモデルのカテゴリに適合しない拡張メソッド、ヘルパーなど)に対して、個別のクラスライブラリを作成することを検討することもできます。
現在、かなり大きなプロジェクトで作業しているため、Repository(データアクセスインターフェイスおよびビジネスデータクラス用)、Utils(ユーティリティクラス用)、DataAccess(リポジトリインターフェイス実装)という名前の異なるクラスライブラリプロジェクトにクラスを分割しています。それらの下でそれらをサブディレクトリに分割し(または名前空間と言うべきです)、Resharperを使用してそれらの名前空間を強制します。
所属していません StackOverflow