2008-11-20 16 views
45

Ich habe ein paar Dinge über MVCs gelesen, aber ich verstehe immer noch nicht, wann sie verwendet werden sollten und wann sie nicht verwendet werden sollten. Ich bin auf der Suche nach klaren Beispielen, die Dinge wie " sagen, wenn Sie dies entwickeln, dann sollten Sie MVC verwenden, wie diese" und " Wenn Sie dies entwickeln, sollten Sie MVC nicht verwenden." Die meisten Beispiele, die ich gesehen habe, verlassen sich auf komplexe Frameworks, die bereits alles implementiert haben, und Sie müssen das Framework lernen und es viel nutzen, um zu verstehen, was wirklich passiert. Für viele Programmierer, Phrasierungen wie „ UI Business-Logik“ klingen wie Marketing-Begriffe — zum Beispiel die Worte „ Stattdessen wird die Ansicht direkt an ein Präsentationsmodell bindet“ sind in this post.Wo finde ich klare Beispiele für MVC?

verwendet Mir ist bekannt, die Gefahren, die in den Schatten lauern können, da MVC ein Konzept ist und jeder das Gefühl hat, es am besten zu wissen, doch niemand weiß wirklich genau, wie man es benutzt, weil es viele Variablen geben kann und jeder einen anderen Blick darauf haben darf um ein Projekt in das Model, die View und den Controller zu zerlegen. Es gibt eine Menge Theorie, aber nur wenige klare Beispiele. Was ich suche, sind nicht "die besten" Wege, dies zu tun, so dass dies nicht als subjektiv betrachtet werden sollte; Ich suche nach verschiedenen einfachen Implementierungen, die mir erlauben würden, selbst zu entscheiden, welche die besten Ansätze sind.

Kurz: Was sind gute Online-Ressourcen, die Argumente für die Verwendung von MVC in verschiedenen Situationen darstellen und klare Beispiele liefern, die dem Leser helfen, das Konzept zu verstehen?

+0

Hier ist ein gutes Beispiel dafür, was ich suche: http://toys.lerdorf.com/archives/38-The- No-Framework-PHP-MVC-Framework.html – Tom

+1

Und hier ist ein großartiges Beispiel: http://www.c2.com/cgi-bin/wiki?ModelViewController – Tom

+0

Anfrage für Links/Referenzen ist keine gültige Frage SO. –

Antwort

13

IMO, sind die besten Beispiele mit Code und/oder Starter-Kits.

Rob Conery verfügt über eine great number of posts, die erläutert, wie eine MVC-Site mit ASP.NET MVC erstellt wird. Jeder von diesen hat eine video tutorial, die durch die Blog-Post-Diskussion läuft.

Die offizielle ASP.NET MVC Seite hat auch einige video posts, Starter-Kits (here, here und here) und extra sauce zu helfen.

IMO, MVC ist der Weg für Websites. Ohne den ganzen Jargon und das Marketing zu sprengen, zerlegt es Ihren Code in schöne, separate und definierte Abschnitte. Jeder dieser Abschnitte kann auch getestet werden. Das hilft wirklich dabei, den Entwicklungsprozess zu schützen, weil Sie sicher sind, dass das Berühren eines Teils des Systems keinen anderen bricht (weil die Tests alle nach der letzten Änderung bestanden haben).

Andere Blogs, die Sie sollten überprüfen:

1

Ich habe dies in jeder Hinsicht für verschiedene Projekte getan. Von der Codierung alles für eine Anwendung in einem großen PHP-Skript (OK, es begann als kleines PHP-Skript, das gerade wuchs). Um das neueste größte Spring/Freemarker-Framework zu verwenden, wo meine 5O Zeilen Java-Code in einem Meer von XML- und Template-Codierung verloren gingen.

Sie können MVC ohne ein Framework tun, und in PHP ist dies wahrscheinlich der einfachste Weg. Wenn sich Ihr Navigationscode in einem einzigen Skript mit nur Navigationslogik befindet, dann machen Sie MVC!

Für alles andere als eine QDP (Quick Dirty Page) würde ich empfehlen, eine Art MVC zu verwenden. Stellen Sie sich vor, was Sie tun müssten, wenn das Unternehmen sagt "Kann ich eine französische Sprachversion haben" oder "tolles Programm, aber ich möchte die Daten in der xxxxx Datenbank speichern".

0

Es ist oft schwierig, Ihre View-Logik klar mit Ihrer Geschäftslogik zu trennen. Wenn Sie abit auf JSF & JSP Beispiele lesen, können Sie klare Beispiele von MVC im Einsatz sehen. Die Sicht von der Geschäftslogik vollständig trennen.

Wenn Ihr für gute Informationen über MVC suchen kann ich http://en.wikipedia.org/wiki/Model-view-controller

vorschlagen Dies ist ein wichtiges Thema, und ich mag die Idee, die verschiedenen Logiken sepperating. Es hilft dem Programmierer und allen anderen, die an dem Projekt arbeiten.

4

Angenommen, Sie MVC für das Web bedeuten Sie würden sich schwer tun, etwas prägnanter als die folgenden 60 Zeilen Code zu finden:

http://code.google.com/p/barebonesmvc-php/

Beachten Sie insbesondere die sendResponse "Vorlagenmethode", die wiederum im Wesentlichen aus den folgenden 2 Methodenaufrufen besteht:

applyRequestToModel

applyModelToView

2

Einer die höchste Bewertung, die ich gesehen habe, ist die Learn MVC in 7 days Post. Natürlich, so gut wie es ist, verblasst es immer noch im Vergleich zu einem Buch wie Pro ASP.NET MVC 4