2013-03-29 3 views
0

Я нахожусь на Microsoft MVC4, у меня много моделей, и я хочу их реорганизовать.MVC и дизайн модели - по одному для каждого json-действия? по одному для каждого представления?

Я сильно с помощью JQuery Ajax вызовов для заполнения данных, таким образом, у меня есть:

  • несколько действий, которые возвращают простые представления (т.е. пустые HTML таблица)

  • многих действий, которые возвращают JsonResult , используется для заполнения таблиц/ListItems и так далее

в некоторых действиях тот же элемент («элемент») отображаются с некоторой информацией (т.е. столбцы), в других ACTi он показан с другой информацией.

Мои два вопроса:

  • я должен иметь модель для каждого действия, который возвращает результат JSON, для ясности? или я не должен беспокоиться, и я должен использовать продолжение с использованием анонимной проекции?

  • Должен ли я иметь базовые модели (т. Е. «Простые») и расширенные модели, которые наследуются от базовых моделей? или я должен держать Модели сперва, что приводит к созданию более чистой (но менее содержательной?) структуры?

Спасибо!

ответ

2

Должен ли я иметь модель для каждого действия, которое возвращает результат Json, для ясности? или я не должен беспокоиться, и я должен использовать продолжение, используя анонимную проекцию ?

Анонимный проект подходит только для результатов JSON. Делает модульное тестирование немного сложнее, но вам решать, хотите ли вы представить здесь модель представления.

Должен ли я иметь базовые модели (т. Е. «Простые») и расширенные модели , которые наследуются от базовых моделей? или должен ли я поддерживать Модели, , что приводит к созданию более чистой (но менее важной?) структуры?

У вас может быть наследство в ваших моделях.

+0

Благодарим вас за ответ. «Возможно, глупый вопрос»: что такое обычная практика в отношении имен моделей? Должна ли модель быть названа как сущность, представляющая («Player»), или она должна быть названа как действие, генерирующее эту модель («ListPlayer»)? Я спрашиваю об этом, потому что иногда модели немного отличаются, например, для CRUD-действий (модель создания иногда отличается от Update и т. Д.). –

+0

Они могут содержать суффиксу 'ViewModel' и быть названы в соответствии с действием. –

+0

Должен ли я использовать суффиксу 'ViewModel', даже если модель напрямую не привязана к представлению, но вместо этого возвращается Json Result? Вот почему я решил назвать их Моделями в моих вопросах, а не ViewModels ... Я думал, что 'ViewModel' является более правильным, когда речь идет о модели, привязанной к представлению, и просто« Модель », когда модель используется как например JsonResult (или как базовая модель) ... например: «ListPlayersModel», если возвращается действием JsonResult, 'UserInfoViewModel', если возвращается действием ViewResult ... –

Смежные вопросы