Für was ist ASP.NET MVC nicht gut?

7

Ich bin ein großer Fan von dem, was ASP.NET MVC auf vielen Ebenen macht.

Ich bin dabei, am Wiederaufbau einer sehr stark frequentierten Website teilzunehmen, und ich bin nicht der, welcher Rahmen (falls vorhanden) der beste wäre.

Die Website benötigt Folgendes:

  • Zur Unterstützung von Javascript-lastigen, hoch interaktiven Seiten
  • Gleichzeitig aber auch semantisches HTML für Suchmaschinen bereitstellen
  • Unterstützt mehrere Sprachen
  • Sei skinfähig
  • Expose eine RESTful Web-Service-API für Partner

Soweit ich das beurteilen kann, gibt es keinen Grund, ASP.NET MVC dafür nicht zu verwenden.

  • Ich kann semantisches HTML darstellen und Javascript mit jQuery überlagern.
  • Mehrere Sprachen können für die Verwendung von Ressourcendateien (wie derzeit) verwendet werden.
  • Skinning kann mit CSS durchgeführt werden (es werden keine Änderungen am Markup vorgenommen).
  • Ich kann die Geschäftslogik zentralisieren, sodass die Controller und der WCF-Web-Service denselben Code verwenden.

Aber gibt es mögliche Nachteile bei der Verwendung von MVC, die ich nicht berücksichtigt habe?

Ich möchte nicht der Typ sein, der eine Technologie wählt, weil es cool ist, aber später findet er heraus, dass es für den Job nicht sehr geeignet ist.

    
Jonathan 04.08.2009, 03:05
quelle

5 Antworten

11

ASP.NET MVC ist nicht gut, wenn Sie eine Website erstellen, die serverseitigen Code benötigt (das gilt jedoch auch für ASP.NET).

In Ihrem Fall denke ich, MVC wäre ein guter Weg zu gehen. MVC hat sich auf stark frequentierten Websites (z. B. diesem) bewährt. Sie müssen sich jedoch daran erinnern, dass MVC neu und veränderlich ist. Eine Bibliothek existiert möglicherweise nicht für eine bestimmte Aufgabe, was bedeutet, dass Sie diesen Code selbst schreiben müssen.

Viel Glück bei deinem Wiederaufbau!

    
Kredns 04.08.2009, 03:24
quelle
6

Sie sind gut, wenn Sie MVC angesichts dessen, was Sie über Ihr Projekt gesagt haben, folgen.

Soweit es mich betrifft, ASP.NET MVC ist wirklich nur nicht gut für Situationen, in denen Sie eine große Codebasis in WebForms haben (was bedeutet, dass Sie eine Menge ASP.NET-Benutzersteuerelemente, benutzerdefinierte Steuerelemente usw. haben). Es ist auch nicht gut, wenn Leute daran arbeiten, die nicht wissen, worum es geht. Abgesehen davon ist es eine ziemlich schöne Technologie.

    
Dave Markle 04.08.2009 03:32
quelle
3

Meine zwei Cent:

ASP.NET MVC ist eine gute Option, aber es ist eine kleine Lernkurve beteiligt, also vergewissere dich, dass dein Projektplan / Timeline dies behandelt. Möglicherweise gibt es Entwickler in Ihrem Team, die möglicherweise nicht mit ASP.NET MVC arbeiten können, was zu Verzögerungen führen kann (viele Entwickler arbeiten immer noch in ASP.NET 1.1!).

  

@Alex: Fehlende Kontrollen. Einige Features (wie TreeView oder Menu) sind bereits als Controls implementiert und es wäre Zeitverschwendung sie mit mvc neu zu implementieren.

IMO die Idee der Verwendung von Steuerelementen in ASP.NET MVC macht nicht viel Sinn. Sie können ein TreeView-Steuerelement einfach mit jQuery erstellen. Klassische ASP.NET-Serversteuerelemente haben viel Gepäck mit sich gebracht (Viewstate usw.), und ASP.NET MVC hat daher keines dieser Steuerelemente verwendet (obwohl Sie Helfer verwenden können).

Schließlich ist ASP.NET MVC eine Alternative, kein Ersatz für Web Forms. Ich würde ASP.NET MVC nicht verwenden, da es sich immer noch entwickelt, und mein Team ist nicht sehr damit vertraut, aber ich schätze, langsam mehr und mehr Programmierer würden zu dieser (besseren) Option wechseln.

    
Vivek 04.08.2009 04:25
quelle
0

Ich mag ASP.NET MVC nicht aus folgenden Gründen:

1. Hässliche Routing-API, dort Ссылка ist eine Beschreibung dessen, was falsch ist. Übrigens, freundliche URLs können problemlos ohne mvc implementiert werden Ссылка

2. Schlechtes Objektmodell. Es ist bewiesen, dass gute Software aus wiederverwendbaren Komponenten bestehen sollte. Es gibt nichts, was in ASP.NET MVC-basierten Websites wiederverwendet werden kann. Wenn Sie zum Beispiel die intelligente Drop-down-Liste implementiert haben, wird es schwierig, sie erneut zu verwenden (sogar auf derselben Website).

3. Mangel an Kontrollen. Einige Features (wie TreeView oder Menu) sind bereits als Controls implementiert und es wäre Zeitverschwendung sie mit mvc neu zu implementieren.

Wenn ich Sie wäre, würde ich versuchen, ein CMS zu finden und es für WebSite-Bedürfnisse anzupassen.

Zu Antworten: JA. Ich weiß über ASP.NET steuert Nachteile, aber die Frage ist über ASP.NET MVC. Man kann ein Buch darüber schreiben, was in ASP.NET gut und was schlecht ist, aber ich denke nicht, dass es angemessen ist, es hier zu diskutieren.

    
Alex Ilyin 04.08.2009 03:48
quelle
0

Es gibt bessere Möglichkeiten, MVC zu implementieren, ohne asp.net MVC zu verwenden. Ich habe es in der Vergangenheit getan, noch bevor asp.net MVC live kam. MVC ist ein Muster, keine Technologie, ich verstehe nicht, warum manche Leute es eine Technologie nennen. Sie können alle Bedenken trennen, indem Sie den Code-Behind aus Webformularen entfernen und Ihre eigenen Controller und Router erstellen, und Sie haben weiterhin den Vorteil der Webform-Steuerelemente usw., an die die meisten ASP.net-Entwickler gewöhnt sind. asp.net mvc ist nett für Leute, die nicht wirklich die Zeit haben, eine MVC-App in einer Webforms-Umgebung richtig zu erstellen, und auch für diejenigen, die keine Zeit haben, eine bessere Lösung zu entwerfen. in conclusion, asp.net mvc ist gut, aber es gibt einen viel besseren Weg, es zu tun und schließlich ist MVC keine Technologie.

    
juan 09.02.2012 20:42
quelle

Tags und Links