2012-02-07 4 views
1

Я строю свое первое приложение mvc3. Несколько вопросов у меня есть:ASP.NET MVC3 вопросы впервые

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

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

3) Могут ли модели обладать методами? Или просто свойства?

Благодаря

ответ

4

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

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

  2. No.

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

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

Собственно, первая часть верна и для aspx engine и WebForms. И Php, и классический ASP, и ...

1

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

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

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

1

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

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

2) Моделям необходимо реализовать интерфейс?

Nope.

3) Могут ли модели обладать методами? Или просто свойства?

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