Frage

Beachten Sie, dass ich frage nicht, welche (MVC oder MVP) zu wählen, sondern eher, wenn einer der beiden für eine Web-Anwendung verwendet werden soll.

Ich weiß, dass es zu viel Arbeit sein könnte eine ältere Anwendung von seinem aktuellen Entwurf zu einem MVC oder MVP-Muster zu konvertieren. Doch was für eine neue App? Es scheint, das sind die beliebtesten Architekturmuster sind, so sollte man von diesen gewählt werden? Falls nicht, welche andere Muster gibt es?

Wenn Sie nicht vertraut sind mit MVC und / oder MVP, ist eine gute Frage zu prüfen, " Was sind MVP und MVC und was ist der Unterschied? ". Es hat viele gute Antworten, einschließlich Links zu verschiedenen Websites, die jeden brechen.

War es hilfreich?

Lösung

MVP / MVC funktioniert gut in Web-Anwendungen, da die HTTP-Verb + URL Kombination ein sehr guter Weg, um zu bestimmen, welche Maßnahmen zu ergreifen. Es gibt Gründe, es nicht zu benutzen, wie zum Beispiel, wenn Ihr Team mit einem anderen Rahmen viel Erfahrung hat, aber ich würde ein MVP / MVC-Framework im Allgemeinen empfehlen. Ihre Bewerbung wird schneller mit höherer Qualität fertig gestellt werden.

Andere Tipps

Beide sind große Möglichkeiten.

ich für MVC gehen würde, da es eine breitere Adoptionen hat und seine leichter zu verstehen und zu verwenden, um das Frontend (HTML / CSS) Entwickler.

Auch angesichts der Anzahl von Frameworks das MVC-Muster Annahme, chanches mit Ihren Mitarbeitern in MVC sprechen Sie ein gut kannte Sprache sprechen.

Ich habe folgende Antwort für eine weitere Frage gestellt, obwohl es hier besser geeignet sein kann .

MVC ist gut für die Ebene Server-Side-Scripting. In MVC versuchen Entwickler immer den Controller zu halten sehr mager. Vor allem ist Controller für nur das entsprechende Modell auswählen und auf der Ansicht reflektieren. Aber in der heutigen Web-Anwendungen hat sich die Ansicht Teil radikal verändert und wurde komplex genug, um einen großen, fetten und chaotisch Controller zu produzieren. So, jetzt brauchen wir einen neuen Ort der Benutzeroberfläche der komplexe Steuerlogik zu setzen. Hier ist die P MVP , dass kommt, ist der Moderator. So sind Moderatoren verantwortlich für die Logik für eine bestimmte Komponente der Benutzeroberfläche zu steuern. Sie nicht die Steuerung Sorge ist hier nach wie vor, mit dem Namen als Application Controller . Was letztlich verantwortlich für Komponenten zwischen vergleichsweise größerer Anwendung wechseln. So MVP kann auch gesagt MVPC (!!) werden. BTW war meine Art des Verstehens MVP und offensichtlich keine Grundregel.

Also ich bin schon neigen dazu, MVP für komplexe Web-Anwendungen.

war Ihre Frage „soll ich einer dieser Entwurfsmuster verwenden“.

Ich muss würde sagen, dass das wirklich auf den Umfang des Projekts abhängt. Auf einem sehr großes Projekt, das Interdependenz mit anderen Systemen in einer großen Organisation mit einem großen Budget hat, würde ich sagen, dass sie auf jeden Fall wert in Betracht ziehen.

ich denke, diese Muster sind oft auf kleinere Projekte über eingesetzt, wo sie nicht mehr benötigte Komplexität und die Kosten hinzufügen.

Der Hauptpunkt der losen Kopplung ist so, dass Sie Ihre DB oder UI zu einem späteren Zeitpunkt geändert werden können, oder die Weiterverwendung der Geschäftslogik. Oft geschieht dies nie. Sie müssen erkennen, dass entweder dieses Muster wird länger dauern, den Code ziemlich viel zu implementieren und erschweren. So stark schlage ich das wirklich über das Denken und Ihre Optionen wiegen. Sie können oft eine bessere Lösung schneller liefern durch eine sehr einfache Architektur verwenden, die die Komplexität des Auftrags erledigt und reduziert wird!

Es hängt von Rahmen Sie verwenden. Verwenden Sie einfach, was es unterstützt. Die meisten Web-Frameworks ich gesehen habe die Front Controller verwenden und es MVC oder MVP nennen.

Ich denke, dass Sie sollten. Sie sind schwieriger zu implementieren, insbesondere in MS Welt, weil sie alles taten, um Web Forms zu schieben und Gebäude Web-Anwendungen leichter zu machen.
Mit ihrer Hilfe lassen Sie programmieren unkompliziert und man fühlt sich wie eine Menge Arbeit getan haben. Aber sie sind langsamer und schwieriger zu halten, nachdem Sie Ihre Website größer wird.
Mit MVC und MVP können Sie Modell (Basisklassen, die Domäne repräsentieren Sie arbeiten) trennen, Controller und Ansichten. Das beste daran ist, dass Sie Ihr Modell in anderen Anwendungen wie mobile Anwendungen oder Windows-Anwendungen wiederverwenden können. Sie haben dann mehr gemeinsam als nur eine Datenbank, so dass Sie weniger Code zu schreiben. Sie müssen nur Controllern und Ansichten schreiben.
Ich bin neu in diesem, aber ich sehe Vorteile, denn wenn ich etwas an einer Stelle etwas ändern musste sonst an anderer Stelle abgestürzt (so müssen Sie auch lose Kopplung berücksichtigt und Schreiben von Unit-Tests erhalten). Schreiben von Tests ist unmöglich in Web Forms.

wenn Sie die Anwendung jedoch bauen eine Person oder ein Unternehmen zu vertreten, wo es keine Business-Logik auf dem Netz ist, und Sie müssen es schnell tun, Web-Formulare sind für sie gut. Und auch Prototypen für den Aufbau so können Sie zeigen, was Anwendung in der Lage sein zu tun, wenn Sie fertig sind.

Ich mag beiden Muster. Meine beste Praxis ist es, ein Muster zu wählen, das ist immer besser, dann kein Muster.

Ich habe viele Anwendungen, die auf beiden Mustern entwickelt, mein persönliches Gefühl ist, dass wenn Sie ein RAD Entwickler und Sie sind nicht so gut mit CSS & Javascript (meistens winforms Entwicklern, die das wollen, eine Webapp schaffen, keinen Anstoß ;-) ) Sie sollten die MVP-Muster verwenden, da dies sehr einfach mit den Webanwendungsprojekte verwenden.

Aber wenn man bekannt zuzuteilen CSS & Javascript dann sollten Sie das ASP.NET MVC-Muster betrachten.

Ich würde die MVC-Muster bevorzugt, nur weil die lose Kopplung. Es gibt eine klare Trennung zwischen Model, View und Controller und durch die Isolation `s besser geeignet für Testgetriebene Entwicklung oder nur Unit-Testing.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top