deutsch - asp.net mvc 2



Sind ASP.Net Webforms und ASP.Net MVC komponentenbasiert oder aktionsbasiert? (2)

MVC ist definitiv aktionsbasiert.

Webforms basiert auf der Komponente (Steuerung).

Ich komme aus einem JavaEE-Hintergrund und untersuche, welche Web-Frameworks in Java und .Net existieren. Soweit Java betroffen ist, habe ich diesen Vortrag von Matt Raible gefunden .

Eine der Kategorisierungen, die er unter Frameworks vornimmt, besteht darin, dass einige von ihnen aktionsbasiert sind und einige von ihnen komponentenbasiert sind. Erstere sind zustandslos und konzentrieren sich auf die auszuführende Aktion pro Anfrage und die Erstellung des Berichts, während die letzteren zustandsbehaftet sind und eine serverseitige Darstellung ihrer Webschnittstellenkomponenten beibehalten.

Wie erwartet, werden komponentenbasierte Web-Frameworks normalerweise mit eigenen Komponenten oder Komponentenbibliotheken von Drittanbietern geliefert (zusätzlich zu ihren eigenen Komponenten hat JSF Richfaces, Icefaces, ... und GWT hat ExtGWT, SmartGWT, ...). Um reichhaltige Schnittstellen mit aktionsbasierten Frameworks bereitzustellen, muss der Entwickler entweder eine JS-Komponentenbibliothek oder Flex usw. verwenden.

Da die Vor- und Nachteile für jede dieser Kategorien für mich sinnvoll sind, würde ich gerne wissen, ob diese Kategorisierung auch für .Net-Frameworks anwendbar ist. Soweit ich finden konnte, sind ASP.Net MVC und ASP.Net Webforms statusfrei, aber Webforms hat einen Mechanismus namens Viewstate, der zum Speichern und Abrufen von Status aus versteckten Feldern, Session usw. konfiguriert werden kann keine serverseitige Darstellung von Komponenten.

Sind ASP.Net MVC und ASP.Net Webforms komponentenbasiert oder aktionsbasiert?


Nach Ihrer Beschreibung klingt es für mich so, als würde Webforms komponentenbasiert sein und MVC wäre aktionsbasiert.

Webforms versuchte, die Lücke zwischen Desktop-Programmierung und Web-Programmierung zu überbrücken, indem es eine Möglichkeit bot, den Status über Aktionen hinweg zu erhalten und ein ausgeglichenes Programmiermodell zu verwenden.

Während MVC eher ein Framework für Web-Entwickler als für Desktop-Programmierer ist, konzentrieren Sie sich auf Aktionen und REST-Verben und verwenden JavaScript direkt.

Hoffe das hilft!





web-frameworks