Я создаю просмотр моделей для каждого экрана в моем приложении ASP.NET MVC. Я поместил всю логику для создания модели представления в класс builder . Обычно существует специальная логика для преобразования объектов данных в модели представлений, включая агрегирование, фильтрацию и сортировку. Каждому сборщику передается набор зависимостей , который представляет собой объект, содержащий свойства для каждой зависимости (репозитории, другие сборщики и т. Д.).
Проблема в том, что мои имена становятся действительно длинными. Набор зависимостей обычно имеет имя, составленное следующим образом:
вид-модель-имя + Builder + DependencySet
Представления моделей обычно имеют имена, состоящие из того, где вы сейчас находитесь, и детей. Например, моя система классифицировала определения провайдеров. Итак, чтобы показать определения провайдера в категории, у меня есть модель представления под названием:
CategoryProviderDefinitionListViewModel
Это будет выглядеть примерно так:
public sealed class CategoryProviderDefinitionListViewModel
{
public long CategoryId { get; set; }
public string CategoryName { get; set; }
public ProviderDefinitionViewModel[] ProviderDefinitions { get; set; }
}
Итак, моего строителя зовут
CategoryProviderDefinitionListViewModelBuilder
Итак, мой набор зависимостей называется
CategoryProviderDefinitionListViewModelBuilderDependencySet
Это едва умещается на экране. Мои бедные пальцы устали. Кроме того, на некоторых экранах практически отображаются одни и те же данные, поэтому названия моделей их представлений практически совпадают. Когда я просматриваю свою папку, становится действительно трудно найти конкретные классы модели представления, которые я ищу.
В идеале я мог бы сгруппировать классы моделей моего вида, связав их с представлениями, где они используются. Было бы неплохо избегать столкновений и делать имена максимально короткими, сохраняя при этом их значимость. Кто-нибудь нашел соглашение об именовании / организацию папок, которая хорошо работает в этом сценарии?