Я завершил свое первое веб-приложение, используя ASP.NET MVC, и в целом я до сих пор не понимаю, почему это вызывает все похвалы и славу. Может быть, я упрямый. Я знаю, что то, что делает MVC великолепным, заключается в том, что оно вызывает разделение между уровнем представления и бизнес-объектом или уровнем данных вместе с его работой без сохранения состояния. Я также знаю, что когда вы работаете с представлением, кажется, что код менее читабелен (см. Мой пример ниже).
Так что я предполагаю, что мой вопрос ... Если проблема заключается в разделении, почему бы просто не отделить.
Веб-формы Просмотр кода:
//UI
<h2><asp:Label ID="lblPageHeader" runat="server" /></h2>
Код веб-форм:
//CODE BEHIND
this.lblPageHeader.Text = myObject.Header;
Код MVC:
//UI
<h2><%= Html.Encode(Model.PageTitle) %></h2>
Код контроллера MVC:
index = new Index
{
PageText = sb.ToString(),
PageTitle = "WELCOME"
};
return View(index);
Опять же, я могу быть упрямым, но одна вещь, которая мне действительно понравилась в WebForms, - это простота настройки свойств объекта, таких как DataSources и Text. Кажется, что в MVC это совсем другое и менее читабельное, что заставляет меня задуматься о долгосрочном обслуживании.
EDIT
Изучив типизированные модели, я думаю, что читаемость кода значительно улучшена.