Подтвердить что ты не робот

ASP.NET MVC Просмотр соглашений об именах моделей

Я знаю, что, вероятно, я получу смешанное мнение по этому вопросу, но мне было интересно, существуют ли "Рекомендации" для соглашений об именах моделей.

У меня довольно большое приложение, и я принял следующее соглашение об именах моделей:

  • Модели
    • Добавить
      • CategoryAddModel
      • ProductAddModel
    • Изменить
      • CategoryEditModel
      • ProductEditModel
    • Просмотр
      • CategoryViewModel
      • ProductViewModel

Я тоже думал о следующем:

  • Модели
    • Добавить
      • AddCategoryModel
      • AddProductModel
    • Изменить
      • EditCategoryModel
      • EditProductModel
    • Просмотр
      • ViewCategoryModel
      • ViewProductModel

Что вы предпочитаете и почему?

Считаете ли вы, что это действительно важно?

4b9b3361

Ответ 1

Это не имеет значения. Вы должны называть вещи последовательным, логичным и прямым способом. В принципе, просто выберите что-то, что имеет смысл и сделает вас наиболее продуктивным. Посмотрите, как ваше соглашение об именах будет работать с IntelliSense.

Вы также можете подумать о том, насколько легко ваш код будет поддерживать год.

Ответ 2

Я предпочитаю {ViewName}{Controller}ViewModel. Я также удаляю папку Models, вместо этого я помещаю модели просмотра в папку ViewModels. Это имеет больше смысла для меня.

например. AddCategoryViewModel

Ответ 3

Вытащить комментарий Hightmaston в официальный ответ для ясности.

Логический шаблон для подражания будет:

{Controller}{ViewName}ViewModel

Это способствует лучшей организации файлов в масштабе и уменьшает количество обращений Intellisense.

Простой пример может быть следующим:

CategoryIndexViewModel

Для краткости вы также можете рассмотреть:

CategoryIndexModel

Ответ 4

В теории CategoryViewModel, CategoryAddModel и CategoryEditModel будут содержать одни и те же свойства, поэтому в вашем пользовательском интерфейсе нет ни малейшего числа, в котором можно увеличить количество моделей просмотров. Достаточно просто CategoryModel. Это тип HTTP-запросов, принимаемых вашим контроллером, который определяет, является ли это операцией GET или POST. Модель, используемая для заполнения представления для GET или получения данных формы для POST, будет иметь один и тот же тип в любом случае.