Ahora he completado mi primera aplicación web utilizando ASP.NET MVC y, en general, todavía no entiendo por qué esto está recibiendo todos los elogios y la gloria. Tal vez estoy siendo terco. Sé que lo que hace que MVC sea excelente es que obliga a la separación entre la capa de presentación y el objeto comercial o la capa de datos junto con su operación sin estado. También sé que cuando trabajas con la vista, parece que el código es menos legible (mira mi ejemplo a continuación).ASP.NET MVC> ASP.NET WebForms, ¿Por qué?
Así que supongo que mi pregunta es ... Si la separación es la preocupación, ¿por qué no solo separarnos?
Web Forms Ver Código:
//UI
<h2><asp:Label ID="lblPageHeader" runat="server" /></h2>
Web Forms código subyacente:
//CODE BEHIND
this.lblPageHeader.Text = myObject.Header;
MVC código Ordenar:
//UI
<h2><%= Html.Encode(Model.PageTitle) %></h2>
Código controlador MVC:
index = new Index
{
PageText = sb.ToString(),
PageTitle = "WELCOME"
};
return View(index);
Una vez más, podría estar siendo terco, pero una de las cosas que más me han gustado en WebForms es la facilidad para establecer las propiedades del objeto como DataSources y valores de texto. Parece que esto es completamente diferente en MVC y menos legible, lo que hace que me pregunte sobre el mantenimiento a largo plazo.
EDIT Después de examinar los modelos mecanografiados, creo que la legibilidad del código se mejora sustancialmente.
@tweakt - gracias por la edición! Buena atrapada. – RSolberg