J'ai maintenant terminé ma première application web en utilisant ASP.NET MVC et dans l'ensemble, je ne comprends toujours pas pourquoi cela obtient tous les éloges et la gloire. Peut-être que je suis têtu. Je sais que ce qui rend MVC génial, c'est qu'il force la séparation entre la couche de présentation et l'objet métier ou la couche de données avec son fonctionnement sans état. Je sais aussi que lorsque vous travaillez avec la vue, il apparaît que le code est moins lisible (voir mon exemple ci-dessous).ASP.NET MVC> ASP.NET WebForms, pourquoi?
Donc, je suppose que ma question est ... Si la séparation est la préoccupation, pourquoi ne pas simplement séparer.
Web Forms Afficher le code:
//UI
<h2><asp:Label ID="lblPageHeader" runat="server" /></h2>
Web Forms code Derrière:
//CODE BEHIND
this.lblPageHeader.Text = myObject.Header;
code MVC Voir:
//UI
<h2><%= Html.Encode(Model.PageTitle) %></h2>
MVC Code de contrôleur:
index = new Index
{
PageText = sb.ToString(),
PageTitle = "WELCOME"
};
return View(index);
Encore une fois, je pourrais être têtu, mais l'une des choses que j'ai vraiment aimé dans WebForms est la facilité dans la définition des propriétés d'objet comme sources de données et les valeurs de texte. Il semble que ce soit complètement différent dans MVC et moins lisible, ce qui me fait réfléchir à la maintenance à long terme. Après avoir examiné les modèles dactylographiés, je pense que la lisibilité du code est sensiblement améliorée.
@tweakt - merci pour la modifier! Bonne prise. – RSolberg