Warum sollten Sie ASP.Net MVC oder ASP.Net Standard mit Formularen und Steuerelementen für ein Webprojekt verwenden? Abgesehen von persönlichen Vorlieben, was wären die Gründe? Welche Art von Projekten finden Sie geeigneter für MVC und welche Projekte für normale ASP.Net?
Würden Sie Ihre aktuellen Projekte auf das eine oder andere übertragen?
WebForms ist eine Abstraktion, die die Mechanik des Webs vor dem Entwickler versteckt. Es ermöglicht Desktop-Entwicklern, ihre Fähigkeiten relativ einfach ins Web zu übertragen. Während dies teilweise gelingt, ist es in praktischen Szenarien in der Regel nicht lange der Fall, dass die Abstraktion aufhört und man mühsam Abhilfe schaffen muss. Komponententests sind schwierig, da die Logik zur Handhabung von Benutzerinteraktionen eng mit der Benutzeroberfläche verknüpft ist. Der HTML-Code einer typischen WebForms-App ist bei weitem nicht optimal. Es ist typischerweise aufgebläht, schwierig zu lesen und enthält viel Inhalt, der nur vorhanden ist, um der Abstraktion zu ermöglichen, z.B. Viewstate, der ein riesiger Informationsblob ist, der der Abstraktion hilft, dem Entwickler die Illusion des Zustands zu geben, obwohl das Web ein staatenloses Medium ist.
MVC umfasst jedoch die Mechanik des Webs. Die grundlegenden Operationen, die in einer Web-Anfrage und -Antwort stattfinden, werden dem Entwickler als einfache Abstraktionen präsentiert. MVC hat eine klare Trennung der Bedenken. Das Modell repräsentiert einfach die Geschäftsobjekte oder Entitäten, mit denen das System befasst ist, mit Methoden zum Abrufen und Speichern von Instanzen dieser Objekte. Der Controller nimmt eine Webanforderung an, führt Operationen für das Modell durch und übergibt das Modell dann an die Ansicht. Die Ansicht ist ein reiner Renderer, um dem Benutzer das Modell zu präsentieren und Schnittstellenelemente anzuzeigen, die es dem Benutzer ermöglichen, die nächste Anforderung zu formulieren, die an einen Controller übergeben werden soll. Diese Trennung von Bedenken ermöglicht relativ einfache Komponententests. Der Entwickler hat die vollständige Kontrolle über den erzeugten HTML-Code und es müssen keine anderen Artefakte vorhanden sein (z. B. Viewstate).
Ich bevorzuge MVC. In seltenen Fällen kann es nützlich sein, Webforms zu verwenden, z. ein schneller Prototyp oder eine Demo, aber ansonsten würde ich immer die Verwendung von MVC empfehlen.
Was die Übertragung eines Projekts von Webforms auf MVC betrifft, so ist dies natürlich sehr subjektiv und abhängig von der Anwendung selbst und den Haushaltszwängen, aber im Allgemeinen glaube ich, dass dies ein Schritt in die richtige Richtung ist.
ASP.NET Web Forms und MVC sind zwei von Microsoft entwickelte Web-Frameworks - beide sind eine gute Wahl. Keines der Web-Frameworks soll durch das andere ersetzt werden, noch ist geplant, sie in ein einziges Framework "zusammenführen" zu lassen. Die fortlaufende Unterstützung und Entwicklung wird parallel von Microsoft durchgeführt und wird auch nicht weggehen.
Jedes dieser Web-Frameworks bietet Vor- und Nachteile - einige davon müssen bei der Entwicklung einer Web-Anwendung berücksichtigt werden. Eine Webanwendung kann mit einer der beiden Technologien entwickelt werden. So kann die Entwicklung für eine bestimmte Anwendung einfacher sein als die Auswahl einer anderen Technologie und umgekehrt.
ASP.NET-Webformulare:
ASP.NET MVC:
Authentifizierung, Autorisierung, Konfiguration, Kompilierung und Bereitstellung sind alle Funktionen, die zwischen den beiden Web-Frameworks freigegeben werden.
Sie finden viele Unterschiede, Vorteile gegenüber dem ASP.Net MVC gegenüber dem normalen ASP.Net
Anwendungen. Wenn nicht, bitte besuchen Sie die Seite mit dem Stack.
Größter Vorteil bei der Verwendung von ASP.Net MVC vs Webformulare
Der Grund für die Wahl des MVC-Konzepts für Ihre Anwendung ist vielfältig
Was für Ihre Bewerbung? jede Art von Forum, Reporting-Tool oder Intranet-Website
Ob Sie dem Design-Muster folgen wollen oder nicht?
Wenn ja, ob das dann MVC oder irgendwas anderes ist?
Ob Sie Modularität für zukünftige Erweiterungen benötigen?
Ob Sie die volle Kontrolle über Ihren Code benötigen?
Bessere Unterstützung für den Testteil aus der Entwicklerperspektive sollte da sein oder nicht?
Wenn Sie sich über diese Dinge sicher sind, können Sie Ihre Anwendung in das MVC-Framework-Modell verschieben.
Ansonsten ist es besser, mit ASP.Net Web.apps fortzufahren, da es die neuesten
enthältzeigt, was die aktuelle Industrie braucht.
Tags und Links asp.net-mvc asp.net