Je mehr ich in Asp.Net MVC lese, desto mehr Ebenen und Komponenten werden benötigt, um meine Anwendung allen Standards und Programmierpraktiken zu folgen.
Es wird ein bisschen verwirrend, weil einige der neuen Ebenen nicht so einfach hineinpassen wie die anderen, die ich gelernt habe. Also wollte ich nur, dass jemand alle erforderlichen / empfohlenen Schichten für eine Asp.Net MVC-Anwendung durchgeht - welchen Zweck sie erfüllen und wie sie mit den anderen Schichten interagieren.
Hier sind ein paar der Layer, die ich gefunden habe und wie sie sich verbinden: (Einige von ihnen können falsch sein)
%Vor%Könnte jemand über diejenigen gehen, die ich vermisse, wie sie alle miteinander verbunden sind und was jeder ihrer Ziele sind?
Danke, Danke Matt
Gute Frage, ich denke, Sie haben alle Schichten abgedeckt, die ich gesehen habe: Modale Binde- und Serviceschicht sind optional.
Vielleicht können Sie eine weitere Fehlerbehandlungsschicht hinzufügen, z. B. elmah .
Erstens denke ich, dass Software und Muster dazu neigen, Dinge zu komplizieren. Wie der ASP-Name impliziert, ist die Grundidee des Frameworks Model-View-Controller (MVC). Sie könnten eine Menge Dinge zwischen diesen Komponenten einfügen, einschließlich DBs, Services, APIs usw. Das Hauptkonzept des Model-View-Controller-Musters ist jedoch ziemlich einfach: Trennen Sie diese Funktionalitäten in Module, so dass das Projekt sein könnte leichter zu halten.
MVC könnte auf JEDE Programmierung oder Skripting angewendet werden. Sogar für ein Shell-Skript könnte MVC hilfreich sein. Hier sind einige Beispiele für jedes:
Jetzt der gute Teil. Dem Controller ist es egal, wie die View die Interaktion mit dem Benutzer verwaltet. Es könnte eine Befehlszeilenschnittstelle oder ein Webformular sein. Der Controller weiß nicht, wie die Daten gespeichert werden. Es spielt keine Rolle, ob es sich um eine Datenbank oder eine Datei handelt. Es fordert nur Daten an und reicht sie an die Ansicht weiter. Es ist nicht seine Aufgabe zu wissen, wie die Ansicht die Eingaben erhält, oder das Modell die Daten.
Dann die Frage: Warum zur Hölle wollen wir die Dinge mit diesem Muster übermäßig komplizieren? Stellen Sie sich vor, Sie haben eine MVC-Anwendung mit einer MySQL-Datenbank und wissen, dass Sie SQL Server verwenden möchten. Welches Modul sollten Sie ändern? Offensichtlich ist das Modell betroffen. Der Controller und die Ansicht sollten keine größeren Auswirkungen haben. Stellen Sie sich nun vor, dass Sie eine andere MVC-Anwendung mit Windows Forms verwenden und diese nun in Web Forms ändern möchten. Nun, im Grunde ist die Ansicht diejenige, die betroffen sein wird (und einige Teile des Controllers), aber Ihr Modell sollte dasselbe sein.
Zusammenfassend ist MVC ein großartiges Muster, und es sollte mehr verwendet werden. Ich denke jedoch, dass es einige Projekte gibt, die wegen ihrer Einfachheit nicht für MVC geeignet sind. Es wird sein, als würde man einen Laser bauen, um Fliegen zu töten. Natürlich werden Sie sie töten, aber die Anstrengung ist nicht in allen Fällen würdig.
Tags und Links asp.net-mvc standards