ASP.NET MVC3 первые вопросы - PullRequest
       4

ASP.NET MVC3 первые вопросы

1 голос
/ 07 февраля 2012

Я создаю свое первое приложение mvc3.У меня есть несколько вопросов:

1) механизм просмотра бритвы позволяет мне встраивать код в представления.Разве это не то, что мы когда-то пытались уйти?т.е. держать код вне aspx.

2) Нужно ли моделям реализовывать интерфейс?

3) Должны ли модели иметь методы?Или просто свойства?

Спасибо

Ответы [ 4 ]

4 голосов
/ 07 февраля 2012

Довольно расплывчатый вопрос, но я дам вам свой 5c:

  1. Верно, но код, который мы помещаем в представления Razor, обычно предназначен только для генерации Html-элементов управления. Вспомогательные методы в MVC3 используют атрибуты данных из ваших Viewmodels и генерируют проверку и т. Д. Когда это сказано, совершенно необязательно, сколько кода вы хотите добавить в свои представления.

  2. номер

  3. Viewmodels должны быть настолько глупыми, насколько это возможно, и метод бизнес-логики должен быть применен к моделям вашего домена, как вы хороший разработчик DDD;)

1 голос
/ 07 февраля 2012

1) механизм просмотра бритвы позволяет мне встраивать код в представления.Разве это не то, что мы когда-то пытались уйти?т.е. держите код вне aspx.

Нет, мы однажды пытались убрать логику из поля зрения.Это дает немного больше контроля над представлением, но не должно использоваться как метод реализации логики.

2) Нужно ли моделям реализовывать интерфейс?

Нет.

3) У моделей должны быть методы?Или просто свойства?

Модели - это просто классы.Они определяют структуру вашего класса.

1 голос
/ 07 февраля 2012

1) Это может показаться немного похожим, но на самом деле это зависит от кода. ИМХО Вам действительно следует избегать любой логики или кода в представлении, кроме той, которая непосредственно связана с отображением представления. Однако для этого кода Razor предлагает прекрасный чистый способ кодирования в представлении.

2) Нет - моделью может быть любой класс.

3) Ничто не мешает вам добавлять методы в модель - но на самом деле они должны быть очень простыми объектами передачи данных - они просто «переносят» данные. Поэтому чаще всего придерживайтесь свойств.

1 голос
/ 07 февраля 2012
  1. Код, который вы вводите в представление, должен содержать код рендеринга .Простой цикл для повторения, вызовы EditorFor или DisplayFor или что-то типа using (Html.BeginForm()).Основная бизнес-логика никогда не должна размещаться в слое View.
  2. No.
  3. Нет, только свойства.Вы можете добавить действительно простые вспомогательные методы, но важными являются свойства, поэтому даже вспомогательные методы должны быть реализованы как свойства только для чтения.

На самом деле, первая часть справедлива для механизма aspx и WebForms.также.И Php, и классический ASP, и ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...