Aus diesem Grund ist MVC der beliebteste Ansatz zum Erstellen von ASP.NET-Lösungen
MVC ist im objektorientierten Stil implementiert und ursprünglich für traditionelle GUI-Anwendungen erfunden worden. Daher musste es gut in die Webanwendungen abgebildet werden.
MVC ist, wie Sie vielleicht schon gehört haben, die Abkürzung für Model, View und Controller Pattern.
- Modell – Beim Model dreht sich alles um den Stand Ihrer Bewerbung, worum es geht. Wenn Ihre Anwendung beispielsweise ein Forum ist, verfügt das Modell über Class::DBI-Objekte zum Darstellen von Threads, Benutzern und Beiträgen. Das Modell befasst sich nicht mit HTML oder Webservern, sondern liefert Abfragen und auch die Möglichkeiten, diesen Zustand zu ändern.
- Aussicht – Bei View dreht sich alles um die Darstellung der Benutzeroberfläche. Sie können innerhalb einer Anwendung viele Ansichten haben. Betrachten Sie das gleiche Forumsbeispiel noch einmal. Hier fungieren die Ansichten als Vorlagen für das Rendern des vollständigen Threads einschließlich der Positionierungsseite, der Anmeldeseite usw.
- Regler – Die Benutzeraktionen in der Ansicht werden an den Controller gesendet. Die Benutzeranfragen werden nach Eingang beim Controller in Aktionen umgesetzt. Diese Aktionen werden in den entsprechenden Ansichten angezeigt.
Somit hilft Ihnen das MVC-Muster beim Erstellen von Anwendungen, die die verschiedenen Aspekte der Anwendung trennen – Eingabelogik, UI-Logik und Geschäftslogik. Glücklicherweise ermöglicht dies eine lose Kopplung zwischen den verschiedenen Aspekten der Anwendung, sodass Sie sich jeweils auf einen Aspekt der Anwendung konzentrieren können. Die lose Kopplung hilft auch bei der parallelen Entwicklung und erleichtert es mehreren Entwicklern, an einem einzigen Projekt zu arbeiten. Beispielsweise arbeitet ein Entwickler an View, der andere an der Controller-Logik und ein dritter Entwickler an der Geschäftslogik des Modells.
Es ist erwähnenswert, dass Microsoft die ältere Version des ASP.NET MVC-Frameworks überarbeitet und ASP.NET Core MVC übernommen hat. Das neue Framework bietet Ihnen außergewöhnliche Flexibilität und Wettbewerbsvorteile bei der Entwicklung von High-End-Webanwendungen.
Hier sind weitere Gründe, warum Sie diesen Ansatz wählen sollten:
1) Plattformübergreifende Fähigkeit
Wenn Sie Produkte entwickeln, möchten Sie verständlicherweise, dass sie über Windows-Plattformen wie Mac, Linux usw. Das Entwicklungstool für dieses Framework ermöglicht die Entwicklung von Anwendungen sowohl für Mac als auch für Linux mit Hilfe der Visual Studio-Komponente Visual Studio Code. Entwickler können diese plattformübergreifende Fähigkeit einfach nutzen, um eine One-for-All-Anwendung für alle Plattformen zu entwickeln.
2) Hosting-Unabhängigkeit durch diesen Ansatz möglich
Dies ist ein weiterer Vorteil der plattformübergreifenden Funktionalität des Tools. Dadurch können die Anwendungen auf Webservern außerhalb der Internetinformationsdienste ausgeführt werden. Dies ist der Hauptunterschied zwischen der Entwicklung von ASPNET-Kernanwendungen und der Entwicklung von ASPNET-Anwendungen. Denn im letzteren Fall war IIS der Standardserver.
3) Integrierte Unterstützung für Dependency Injection
Diese Funktion war für andere Versionen von ASP.Net MVC vorhanden, aber in ASP.NET Core MVC ist die Abhängigkeitsinjektion integriert, d. h. sie ist von Anfang an integriert. Und dies kann verwendet werden, um die Codierungsstruktur zu unterstützen.
4) Volle Kontrolle über die Anwendung
Das Framework bietet dem Entwickler die volle Kontrolle, um dynamische Websites zu erstellen, die ihm durch einen musterbasierten Ansatz die volle Kontrolle geben. Die Trennung der Belange ermöglicht eine agile Entwicklung. Die Funktion ermöglicht auch einen testgetriebenen Entwicklungsprozess, mit dem Sie anspruchsvolle Anwendungen erstellen können, die in die neuesten Webstandards integriert sind. Auf diese Weise können Sie die App in jeder Phase testen, was den Entwicklungsprozess schnell und flexibel macht. Dazu müssen Sie lediglich ein kompatibles NET-Framework verwenden.
5) Die Open-Source-Funktion macht die Codierung flexibel
ASP.NET ermöglicht es Ihnen, die Modularität in der gesamten Projektentwicklungsumgebung aufrechtzuerhalten. Dies fördert die einfache Codierung und die Flexibilität, Komponenten und Bibliotheken nach Bedarf zu strukturieren, insbesondere während der Anwendungsbereitstellung.
6) MVC fügt Disziplin hinzu
Disziplin ist etwas, was die Entwickler beim Schreiben und Strukturieren von Code brauchen. Wenn Sie dem Prinzip „Konvention vor Konfiguration“ folgen, dann fördert dieser Ansatz dies. Nach dem Prinzip muss ein Entwickler nur die unkonventionellen Aspekte innerhalb der Anwendung spezifizieren, was die Entscheidungsfindung erleichtert, ohne an Flexibilität zu verlieren. Und es ist eine große Hilfe bei der Wartung der App und der Förderung einer besseren Testbarkeit.
7) Anwendungen mit durchsuchbaren URLs
Der MVC-Ansatz bietet umfassende Unterstützung für das ASP.Net-Routing, sodass Sie Apps entwickeln können, die mit verständlichen und durchsuchbaren URLs integriert sind. URLs unterstützen URL-Benennungsmuster, die sowohl für SEO als auch für REST (Representational State Transfer) gut funktionieren. Das ASP.NET-Routing ist eine leistungsstarke URL-Zuordnungskomponente und sehr nützlich bei der Entwicklung dynamischer Apps.
Bei dieser Vorgehensweise sind einige Dinge zu beachten:
Weitere Objekte und Klassen
Beachten Sie beim Erstellen einer MVC-Anwendung, dass sie im Vergleich zu einem seitenbasierten System zu mehr Klassen und Objekten führt. Die gute Nachricht ist, dass ein MVC-System leicht zu erweitern oder anzupassen ist, da die Codes besser getrennt werden.
Das Modellmuster des MVC fungiert als zusätzliche Sicherheitsschicht
Beachten Sie, dass der Modellteil des Musters keine Geschäftslogik ausführen sollte, da dies nicht der ursprüngliche Zweck des Musters ist. Aus diesem Grund wird der Logikcode in die Steuerung geschrieben, die Erstellung und Bearbeitung von Daten erfolgt innerhalb der Steuerung mit Hilfe von Funktionen. Dies bietet eine Art Sicherheit, da der Benutzer das Modell und das Schema der Datenbank nicht kennt.
Du musst wissen was wohin gehört
Manchmal kann es schwierig sein, den Controller und das Modell aufzuteilen, daher wäre es ideal, so wenig Controller wie möglich zu haben (da es die Pflicht wäre, HTTP-Anforderungen in Modellaktionen zu übersetzen und die richtige Ansicht auszuwählen).
Fazit
Die Komponenten im Framework können je nach Anforderung ausgetauscht oder angepasst werden. Sie können Ihre eigene Engine, URL-Routing-Richtlinie, Aktionsmethoden-Parameterserialisierung usw. hinzufügen.
Der Framework-Ansatz bietet neben der Unterstützung für ASPNET-Funktionen zusätzlich die folgenden Funktionen: URL-Autorisierung, Ausgabe- und Daten-Caching, Formularauthentifizierung und Windows-Authentifizierung, Mitgliedschaft und Rollen, Sitzungs- und Profilstatusverwaltung, Zustandsüberwachung, das Konfigurationssystem , und mehr.
Interessante Links zum Thema:
Übersicht von Microsoft über ASP.NET
MVC, Web-API erklärt
Bilder: Flicker.com/ Eric Liu/ Blue Coat Photos
Die Autorin: Reema Oamkumar ist als Vordenkerin bei www.Software-Developer-India.com, einem Teil der YUHIRO Group, engagiert. YUHIRO ist ein deutsch-indisches Unternehmen, das Programmierer an IT-Unternehmen, Agenturen und IT-Abteilungen vermittelt.