Gründen nicht die Verwendung der MVC-Architektur für web-Anwendung
In der Vergangenheit habe ich in Erster Linie gebaut, alle meine web-Anwendungen unter Verwendung einer N-tier-Architektur, die Umsetzung der BLL und DAL Schichten. Vor kurzem habe ich angefangen, einige RoR-Entwicklung sowie in der Suche ASP.NET MVC.
Verstehe ich die Unterschiede zwischen den verschiedenen Architekturen(als verwiesen wird, die von einigen der anderen posts), aber ich kann nicht wirklich denke an alle Gründe, warum ich würde nicht wählen, ein MVC-Modell, das vorwärts für ein neues Projekt.
Gibt es irgendwelche Gründe/Zeiten in Ihrem erleben, wenn eine MVC-Architektur wäre nicht geeignet, oder keine Gründe, warum Sie wählen würde, eine BLL/DAL Architektur statt?
- Ist diese über .NET MVC-spezifisch, oder MVC im Allgemeinen? Ich weiß ein wenig über das letztere, aber absolut nichts über die ehemaligen.
- Wirklich die Frage ist, mehr über die MVC-Architektur für eine web-Anwendung im Allgemeinen, obwohl ich bin froh zu hören, alle Antworten, die für bestimmte Implementierungen.
- Ich lese das als "100 Gründe, sich nicht auf die Verwendung der MVC-Architektur für web-Anwendung"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer der Faktoren sein könnte, die die statusbehaftete Objekte Ihrer web-Anwendung. Wenn es eine grundlegende web-Anwendung, die bekommt alles was aus den server mit ein paar JavaScript-hooks, wie client-side Validierungen, dann Schienen-Typ MVC ist wirklich toll. Ich bin nicht vertraut mit MVC auf ASP.NET aber ich habe gehört, es ist ähnlich wie in Schienen.
Wenn die web-Anwendung ist wirklich stateful, dann ein besserer Ansatz wäre, um eine dual-MVC-Schicht, einer auf der client-Seite, und die andere für den server. Das MVC auf dem server wird größtenteils sich selbst mit Authentifizierung, Autorisierung, am Laufenden Band Daten in standard-Formate, etc. Die client-side MVC wird sich mit Dingen wie DOM-Ereignisse, Aktionen des Anwenders, wie Sie Einfluss auf den Status der Anwendung, und wie/Wann sollten die Daten angefordert werden/an den server gesendet.
MVC ist nur ein Weg, code zu organisieren, ebenso BLL oder DAL tun würde. MVC in Rails im Grunde verbirgt DAL zusammen, indem eine Reihe von Konventionen. In der Regel Geschäftslogik befindet sich in den Modellen selbst. Jedoch, wenn Ihre Anwendung erfordert komplexere BLL, in dem Objekt-Interaktionen kann sein kompliziert ist, dann gibt es keinen Grund, die BLL kann nicht friedlich co-existieren mit M in MVC.
Ich glaube nicht, dass Sie Ihre Optionen schließen sich gegenseitig aus. Sie konnte perfekt verwenden, während der Verwendung von MVC-BLL/DAL für Ihr Modell-Logik.
Können Sie implementieren, die
M
Teil von MVC, wie Sie bevorzugen, es gibt keine Beschränkung über die. Über BLL und DAL wäre eine gültige option.Für mich? der einzige Grund, ich würde nicht die Verwendung von MVC ist, da die Anwendung an der ich arbeite wurde bereits begonnen, in web-Formularen. Ich bin kein großer Verfechter von Schrott/neu schreiben, sondern etwas neues, das ich, ist in MVC.
Ich glaube nicht, verwenden Sie MVC nur auf wirklich kleine Projekte, die aus ~1-2 Dateien und ~10-20 Zeilen code. Und Sie werden kaum sich in etwas größeres.
Aber wenn Sie will, wird es Zeit, rearchitect Sie in einer MVC-ones.
Der einzige Nachteil, den wir hatten, ist, dass MVC schiebt Sie in Richtung einer html/javascript-interface, wo rich-internet-Anwendungen schwieriger geworden. Zum Beispiel, wenn Sie möchten, um den Benutzer mit einem Kalender-Steuerelement, können Sie brauchen, Rollen Sie Ihre eigenen, da kann man nicht drop aus der toolbox. Das heißt, MVC ist groß. Wenn wir wirklich brauchen, RIA-Anwendungen, die wir verwenden, MVVM und Silverlight.
Für bestimmte Seiten, MVC ein wenig übertrieben:
Es ist leicht zu bekommen, gewickelt, schaffen ein schönes MVC-Architektur, wenn eine kleine Seite, die kurz und prägnant geschrieben, kann okay sein, auf diese Situationen.
MVC kann auch unpraktisch sein, wenn Sie in zeitnot, und Sie müssen etwas sehr schnell. Wie Sie Ihre marketing-team auf einer Konferenz, die Sie mit Mühe, und braucht etwas, um zu zeigen, in Ihrem Stand diese Sekunde, bevor Sie verlieren Ihren größten Kunden.
Leben über den service-tier schlägt vor, Sie sollten die Verwendung des MVC-pattern in einer Weise, die hält sich an die SOFEA Prinzipien, und watch out für "Front-controller" Typ frameworks Verkleidung hinter dem MVC-Abkürzung.
(oder, Sie können Sie immer noch verwenden, aber wenigstens den Artikel Lesen, verstehen Sie die Unterschiede, und wählen Sie mit bedacht).
Die einfache Antwort ist, Nein.
MVC ist alles um eine bessere Architektur als Ihr old-school-n-tier-Architektur, aus vielen Gründen. Es ist die standard-Vorgehensweise in anderen UI-Modelle (z.B. Swing). Der einzige Grund, warum es so lange gedauert hat, um es auf web-Anwendungen war, denn es hat die software-Gemeinschaft, Kollektiv, eine kleine Weile zu gewöhnen, um die Staatenlosigkeit von im web und in der Lage, sich mit den Ansichten und Controller in einer Weise, die Sinn machte.
Persönlich würde ich es bewerten, basierend auf der Komplexität der Ziel-Anwendung. MVC (oder mehr strukturierte Ansätze in der Regel) eignen sich sehr gut zum großflächigen Anwendungen, bei denen die Konsistenz des Designs und der Trennung von code ist ein nutzen überwiegt die Kosten, die die design.
Wenn Ihr eine kleine Website oder sehr wenige Seiten/Bedienelemente, würde ich vermeiden, kleben strengen design-patterns. Aber das ist nur meine Präferenz.
Als ein Plakat sagte, Sie haben auch zu prüfen, den Zustand der vorhandenen Anwendungen und Ihre Entwicklung von team-Fähigkeiten /Erfahrung.
Wir haben bereits die Verwendung des MVC für die Windows-Anwendung,Jetzt müssen wir zu konvertieren, dass die Sache in die Web-Anwendung haben wir keine problem in irgendeiner Sache. Wir sind über die Web-service und jede Business-Logik ist in die Web-service.
So können Sie die Verwendung des MVC bei der web-Anwendung.
M-Modell(Funktionen und Verfahren, die für die Kommunikation mit Business-Logik)
V-Ansicht(Design)
C-Controller(Form Logic)
damit ist keine Verbindung in der DAL,BLL und in MVC.
definieren Sie Ihre Geschäftslogik und it, wo jeder in der MVC.
Das ist meine Sicht der MVC ist sehr nützlich für Re-usability ich es bevorzugen, wenn Ihre Anwendung zu groß ist, dann müssen Sie die Verwendung von MVC.
Ich würde es nicht verwenden MVC-Muster nur in dem Fall, wenn ich eine bestehende desktop-Anwendung mit MVP und ich haben für die Konvertierung in eine web-Umgebung. Das ist, weil ich bereits geschrieben habe-Logik für die Veranstalter.
In jedem anderen Fall würde ich die Verwendung von MVC.
Finden Sie in folgenden
http://blogs.msdn.com/b/webtopics/archive/2009/09/01/asp-net-mvc-what-is-it-and-should-i-use-it.aspx
und http://msdn.microsoft.com/en-us/magazine/dd942833.aspx#id0080017 finden Sie "Unbestreitbare Tatsachen".