私はASP.NET MVCアプリケーションの各画面に対してのビューモデルを作成しています。 ビルダークラスにビューモデルを作成するためのすべてのロジックを入れました。通常、集計、フィルタリング、ソートなど、データオブジェクトをビューモデルに変換する特別なロジックがあります。各ビルダーには、の依存関係セットが渡されます。これは、各依存関係(リポジトリ、他のビルダーなど)のプロパティを含むオブジェクトです。ロングネームを避けるためのビューモデルに関する命名規則
問題は、私の名前は本当に長くなっていることです。依存関係セットは、通常は名前がこのように構成されます:
ビューモデル名+ Builderの+ DependencySet
ビューモデルは通常あなたが現在いると子供どこで構成される名前を持っています。たとえば、私のシステムはプロバイダ定義を分類しています。だから、カテゴリの下にプロバイダの定義を示すために、私は、ビューモデルを求めている:
CategoryProviderDefinitionListViewModel
それは次のようになります。
だから、public sealed class CategoryProviderDefinitionListViewModel
{
public long CategoryId { get; set; }
public string CategoryName { get; set; }
public ProviderDefinitionViewModel[] ProviderDefinitions { get; set; }
}
、私のビルダーが呼び出される
CategoryProviderDefinitionListViewModelBuilder
だから、私の依存関係セットは
CategoryProviderDefinitionListViewModelBuilderDependencySetかろうじて画面全体に収まる
と呼ばれています。私の貧弱な指は疲れている。さらに、一部の画面ではほとんど同じデータが表示されるため、ビューのモデル名はほとんど同じです。私のフォルダを見ていると、私が探している特定のビューモデルのクラスを見つけることが本当に難しくなります。
理想的には、ビューモデルクラスをグループ化して、ビューを使用するビューに関連付けることができます。衝突を避け、名前をできるだけ短くして意味のあるものにするのは良いことです。このシナリオでうまく動作する命名規則/フォルダ構成を見つけた人はいますか?
[DTOとは別のものです](http://stackoverflow.com/questions/1051182/what-is-data-transfer-object)まず、DTO **と* *同じソリューション内のモデルを表示する。 – Liam
これは本当です。そして、そのような状況が発生した場合、おそらく別の命名規則を採用することになります。しかし、良い点。 – CodeMonkey