Соглашения об именах моделей представлений, чтобы избежать длинных имен

Я создаю модели представления для каждого экрана в моем приложении 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

, который едва умещается на экране. Мои бедные пальцы устали. Кроме того, на некоторых экранах почти одинаковы данные, поэтому их названия моделей представления почти одинаковы. Когда я просматриваю свою папку, становится действительно сложно найти конкретные классы модели представления, которые я ищу.

В идеале я мог бы сгруппировать классы моей модели представления вместе, связав их с представлениями, в которых они используются. Было бы неплохо избегать коллизий и делать имена как можно короче, сохраняя при этом значимость. Кто-нибудь нашел соглашение об именах / организацию папок, которое хорошо работает в этом сценарии?

9
задан Travis Parks 16 January 2012 в 16:34
поделиться