ASP.NET MVC-Tutorial für Anfänger: Was ist, Architektur

Was ist ASP.NET MVC?

ASP.NET MVC ist ein Open-Source-Webentwicklungs-Framework von Microsoft das eine Model View Controller-Architektur bereitstellt. ASP.net MVC bietet eine Alternative zu ASP.net-Webformularen zum Erstellen von Webanwendungen. Es ist Teil der .Net-Plattform zum Erstellen, Bereitstellen und Ausführen von Webanwendungen. Sie können Webanwendungen und Websites mithilfe von HTML, CSS, jQuery entwickeln. Javascript, usw.

Lernen Sie MVC mit diesem ASP.NET MVC-Tutorial, das alle grundlegenden Konzepte von MVC für Anfänger abdeckt:

Warum ASP.net MVC?

Obwohl Webformulare sehr erfolgreich waren, Microsoft Ich dachte darüber nach, ASP.net MVC zu entwickeln. Das Hauptproblem bei ASP.net WebForms ist die Leistung.

Kurz und Web-AnwendungEs gibt vier Hauptaspekte, die die Leistung definieren:

  • Probleme mit der Reaktionszeit
  • Problem des Unit-Tests
  • HTML-Anpassung
  • Wiederverwendbarkeit der Code-Behind-Klasse

ASP.net MVC zeichnet sich durch die oben genannten Parameter aus.

Versionsgeschichte von MVC

ASP.NET MVC1

  • Veröffentlicht am 13. März 2009
  • Es läuft auf.NET 3.5
  • Visual Studio 2008
  • MVC-Musterarchitektur mit WebForm Engine
  • Zu den Hauptfunktionen gehören HTML und Unit Tests, Ajax-Helfer, Routing usw.

ASP.NET MVC2

  • Diese Version wurde am 10. März 2010 veröffentlicht
  • Läuft unter .NET 3.5,4.0 und mit Microsoft Visual Studio 2008
  • Fügen Sie Funktionen wie Template-Helfer, Ul-Helfer mit automatischem Gerüst und anpassbare Vorlagen hinzu
  • Es unterstützt DataAnnotations-Attribute, um die Modellvalidierung auf Client- und Serverseite anzuwenden

ASP.NET MVC3

  • Es wurde am 13. Januar 2011 veröffentlicht
  • Läuft unter .NET 4.0 und mit Microsoft Visual Studio 2010
  • Verwendung von NuGet zur Bereitstellung von Software und ermöglicht Ihnen die Verwaltung von Abhängigkeiten auf der gesamten Plattform
  • Besser JavaSkriptunterstützung mit jQuery-Validierung und JSON-Bindung
  • Es bietet Funktionen wie die Razor View Engine; Erweiterte Datenanmerkungsattribute für die Modellvalidierung sowohl auf Client- als auch auf Serverseite

ASP.NET MVC4

  • Diese Version wurde im August 2012 veröffentlicht
  • Es läuft auf .NET 4.0, 4.5 und mit Visual Studio 2010 und Visual Studio 2012
  • Verbesserungen an Standardprojektvorlagen
  • Bietet Funktionen wie mobile Projektvorlagen mit jQuery Mobile, Task-Unterstützung für asynchrone Controller, Bündelung, Minimierung usw.

ASP.NET MVC5

  • Veröffentlicht am 17. Oktober 2013
  • Läuft auf .NET 4.5, 4.5.1 und mit Visual Studio 2012 & Visual OneASP.NET
  • Unterstützt Attributrouting in MVC

Funktionen von MVC

  • Einfache und reibungslose Testbarkeit
  • Volle Kontrolle über Ihr HTML, JavaSkript und URLs
  • Vorhandenes nutzen ASP.Net Eigenschaften
  • Eine neue Präsentationsoption für ASP.Net
  • Eine einfachere Möglichkeit, Asp.Net zu programmieren
  • Klare Trennung der Logik: Modell, Ansicht, Controller
  • Testgetriebene Entwicklung
  • Unterstützung für parallele Entwicklung

Dinge, die Sie beim Erstellen einer MVC-Anwendung beachten sollten

Hier sind einige nützliche Dinge in diesem ASP.NET MVC-Tutorial, die Sie beim Erstellen einer MVC-Anwendung beachten müssen:

  • Sie müssen bedenken, dass ASP .net MVC KEIN Ersatz für auf ASP.Net-Webformularen basierende Anwendungen ist
  • Der Ansatz der MVC-App-Entwicklung muss auf der Grundlage der Anwendungsanforderungen und der von ASP .net MVC bereitgestellten Funktionen entschieden werden, um den spezifischen Entwicklungsanforderungen gerecht zu werden.
  • Der Anwendungsentwicklungsprozess mit ASP .NET MVC ist im Vergleich zu webformularbasierten Anwendungen komplexer.
  • Durch die Trennung der Anwendungsaufgaben ist die Wartbarkeit der Anwendung immer höher.
MVC-Architekturmuster
MVC-Architekturmuster

MVC ist ein Softwarearchitekturmuster, das der Methode der Trennung der Belange folgt. In diesem Modell werden .Net-Anwendungen in drei miteinander verbundene Teile unterteilt, die als Modell, Ansicht und Controller bezeichnet werden.

Das Ziel des MVC-Musters besteht darin, dass jeder dieser Teile relativ isoliert entwickelt, getestet und auch kombiniert werden kann, um eine sehr robuste Anwendung zu erstellen.

Sehen wir uns alle im Detail an:

Models

Modellobjekte sind Teile der Anwendung, die die Logik für die Anwendung implementieren Datendomäne. Es ruft den Modellstatus ab und speichert ihn in einer Datenbank. Beispielsweise könnte ein Produktobjekt Informationen von einem abrufen Datenbank, bearbeiten Sie es. Schreiben Sie dann die Informationen zurück in die Produkttabelle im SQL-Server.

Aufrufe

Ansichten sind die Komponenten, die zum Anzeigen der Benutzeroberfläche (UI) der Anwendung verwendet werden, in MVC auch Viewmodel genannt. Es zeigt die .Net MVC-Anwendungen an, die aus den Modelldaten erstellt werden.

Ein typisches Beispiel wäre die Bearbeitungsansicht einer Artikeltabelle. Sie zeigt Textfelder, Popups und Kontrollkästchen basierend auf dem aktuellen Status von Produkten und Objekten an.

Controller

Controller kümmern sich um die Benutzerinteraktion, arbeiten mit dem Modell und wählen eine Ansicht aus, um diese Anzeige zu rendern. In einer .Net MVC-App zeigt die Ansicht nur Informationen an, der Controller verwaltet und reagiert auf Benutzereingaben und -interaktionen mithilfe von Aktionsfiltern in MVC.

Beispielsweise verwaltet der Controller Abfragezeichenfolgenwerte und übergibt diese Werte an das Modell.

Webformulare vs. MVC

Kenngrößen WebFroms MVC
Modell Asp.Net-Webformulare folgen einem ereignisgesteuerten Entwicklungsmodell. Asp.Net MVC verwendet ein auf MVC-Mustern basierendes Entwicklungsmodell.
Benutzt seit Gibt es seit 2002 Es wurde erstmals 2009 veröffentlicht
Unterstützung für den Ansichtsstatus Asp.Net Web Form unterstützt den Ansichtsstatus für die Statusverwaltung auf der Clientseite. .Net MVC unterstützt keinen Ansichtsstatus.
URL-Typ Asp.Net Web Form verfügt über dateibasierte URLs. Das bedeutet, dass der Dateiname in den URLs vorhanden ist und dass sie physisch vorhanden sein müssen. Asp.Net MVC verfügt über routenbasierte URLs, d. h. URLs, die an Controller und Aktionen umgeleitet werden.
Syntax Asp.Net MVC folgt der Web Forms-Syntax. Asp.Net MVC folgt der anpassbaren Syntax.
Ansichtstyp Web Form, Ansichten sind eng mit dem Code dahinter (ASPX-CS), also der Logik, verknüpft. MVC, Ansichten und Logik werden immer getrennt gehalten.
Konsistentes Erscheinungsbild Es verfügt über Masterseiten für ein einheitliches Erscheinungsbild. Asp.Net MVC verfügt über Layouts für ein einheitliches Erscheinungsbild.
Wiederverwendbarkeit des Codes Web Form bietet Benutzersteuerelemente für die Wiederverwendbarkeit von Code. Asp.Net MVC bietet Teilansichten für die Wiederverwendbarkeit von Code.
Steuerung für HTML Less Kontrolle über gerendertes HTML. Volle Kontrolle über HTML
Staatliche Verwaltung Automatische Zustandsverwaltung von Kontrollen. Manuelle Zustandsverwaltung.
TDD-Unterstützung Schwaches oder benutzerdefiniertes TDD erforderlich. Fördert und schließt TDD ein!

Vorteile von ASP.NET MVC

  • Standardmäßig äußerst wartbare Anwendungen
  • Es ermöglicht Ihnen, jede beliebige Komponente der Anwendung zu ersetzen.
  • Bessere Unterstützung für testgetriebene Entwicklung
  • Komplexe Anwendungen sind aufgrund der Aufteilung in Modell, Ansicht und Controller leicht zu verwalten.
  • Bietet einen robusten Routing-Mechanismus mit Front-Controller-Muster
  • Bietet eine bessere Kontrolle über das Anwendungsverhalten durch Eliminierung von Ansichtsstatus und serverbasierten Formularen
  • .Net MVC-Anwendungen werden von großen Entwicklerteams und Webdesignern unterstützt
  • Es bietet mehr Kontrolle über das Verhalten der Anwendung. Außerdem wird eine optimierte Bandbreite für Anfragen an den Server verwendet

Nachteile von ASP.NET MVC

  • Sie können keine Designseitenvorschau wie auf der ASPX-Seite sehen.
  • Sie müssen das Programm jedes Mal ausführen, um das tatsächliche Design zu sehen.
  • Den Ablauf der Anwendung zu verstehen, kann eine Herausforderung sein
  • Die Implementierung ist ziemlich kompliziert und daher keine ideale Option für Anwendungen auf kleinem Niveau
  • Es ist schwierig, MVC für ASP.NET zu erlernen, da hierfür ein umfassendes Verständnis des MVC-Musters erforderlich ist

Best Practices bei der Verwendung von ASP.Net MVC

  • Erstellen Sie bei großem und komplexem Code eine separate Assembly für MODEL, um unerwünschte Situationen zu vermeiden.
  • Das Modell sollte Geschäftslogik, Sitzungswartung, Validierungsteil und Datenlogikteil umfassen.
  • VIEW sollte keine Geschäftslogik und Sitzungswartung enthalten. Verwenden Sie ViewData, um auf Daten in View zuzugreifen
  • Geschäftslogik und Datenzugriff sollten niemals in ControllerViewData erfolgen
  • Der Controller sollte nur für die Vorbereitung und Rückgabe einer Ansicht, den Aufruf des Modells, die Weiterleitung zur Aktion usw. verantwortlich sein.
  • Löschen Sie den Democode aus der Anwendung, wenn Sie ihn erstellen. Löschen Sie AccountController
  • Verwenden Sie nur eine bestimmte Ansichts-Engine, um HTML-Markup aus Ihrer Ansicht zu erstellen, da es sich um eine Kombination aus HTML und Programmiercode handelt.

Zusammenfassung

  • ASP.NET MVC ist ein Open-Source-Webentwicklungsframework von Microsoft das bietet eine Model View Controller-Architektur.
  • ASP.net MVC bietet eine Alternative zu ASP.net-Webformularen zum Erstellen von Webanwendungen.
  • Das Hauptproblem bei ASP.net WebForms ist die Leistung.
  • ASP.net MVC bietet einfache und reibungslose Testbarkeit mit vollständiger Kontrolle über Ihr HTML und Ihre URLs.
  • Sie müssen bedenken, dass ASP .net MVC KEIN Ersatz für auf ASP.Net-Webformularen basierende Anwendungen ist.
  • Der Ansatz der MVC-App-Entwicklung oder des ASP.NET MVC-Lebenszyklus muss auf der Grundlage der Anwendungsanforderungen und der von ASP .net MVC bereitgestellten Funktionen entschieden werden, um den spezifischen Entwicklungsanforderungen gerecht zu werden.
  • ASP.NET MVC bietet standardmäßig hoch wartbare Anwendungen.
  • Bei ASP.net können Sie keine Entwurfsseitenvorschau wie auf der ASPX-Seite sehen.
  • Als Best Practice sollte das Modell Geschäftslogik, Sitzungswartung, Validierungsteil und Datenlogikteil umfassen.