Frage

Zusätzlich dazu, dass ein 30 Jahre Muster wurde MVC nie für aktuelle Anwendungen gedacht. MVP war sein Nachfolger und entworfene Ereignis-basierte Anwendungen kommen aus in den 90er Jahren zu behandeln. Passive Ansicht und Supervising-Controller scheinen nach oben gestiegen. Für diese beiden ist es fast nicht notwendig, über MVC / MVP zu sprechen.

Insbesondere ist die Controller-Aktion in ASP.NET MVC, die Schaffung diese Ansicht zurück Blick bringt? In MVC, wird der Controller nicht Ansichten erstellen oder mit ihnen sprechen zurück. Wie genau ist es ASP.NET MVC eine MVC-Implementierung zu nennen? Oder was wäre ein genauer Name für das sein?

War es hilfreich?

Lösung

Ich denke, es ist Ruby on Rails, die MS inspiriert asp.net MVC zu erstellen.

Andere Tipps

ASP.NET MVC ist einfach Microsofts Bestätigung für den Erfolg der MVC Implementierung innerhalb Web-Frameworks wie Ruby on Rails und Django. Die Erkenntnis, dass viele Web-Entwickler eine mehr Hände auf Annäherung an Web-Entwicklung möchte, die die „eigenwillig“ Programmiermodell (Konvention über Konfiguration) und verirrt weg von der Stateful Abstraktion umfasst, die ASP.NET WebForms bietet.

Ist es eine exakte Umsetzung der Smalltalk MVC-Muster? Nein. Ist es eine Folge der Panik? Nein. Ist es ein Ergebnis des Erfolgs der beiden Ruby on Rails und Django? Ja.

Ich geschehe, dieses Modell zu lieben, wie es den reichen Rahmen von .NET und ASP.NET-Stapeln bereitgestellt umfasst, während in Ansatz und Anwendung der Konvention basierte Entwicklung minimalistisch zu bleiben.

Es liegt nahe genug, und es ist eine Vertriebsstrategie.

Sie verkaufen ASP.NET gegen andere Technologien, die sich als MVC identifizieren. So ist es kompetitiv nützlich es zu nennen in der gleichen Kategorie wahrgenommen werden.

Microsoft gewinnt häufiger von Produktpositionierung als durch genaue Technologie Identifizierung. (Plus langfristige Lieferung, IMHO.)

ScottGu entzieht sich auf die Antwort im ersten Teil seines Postens auf der ersten MVC Demonstration hier . Die kurze Antwort ist, dass die Leute danach gefragt und Microsoft beschlossen, mit ihm zu gehen. Er passt mit dem aktuellen Net-Modell für so viele Optionen wie möglich hinzugefügt, so dass der Rahmen eine größere Zielgruppe zu erreichen, und auch Entwickler bieten mit den richtigen Tools für das richtige Projekt.

MVC als von ASP.NET MVC implementiert ist nicht die MVC-Muster von alt. In dem, was ich „klassischen“ nenne MVC die Ansicht direkt, aber nur den Zugriff auf das Modell, in ASP.NET MVC gilt es als schlechte Form für den Zugriff auf Ihr Geschäftsmodell direkt aus dem Blick zu lesen. Was Sie am Ende mit etwas sehr ähnlich wie Supervising Controller + Passive Ausblick:

public class MvcExampleController : Controller
{
    public ActionResult ActionMethod(BoundInputData inputData)
    {
        var results   = DoActualWorkInTheModelWith(inputData);
        var viewModel = CreateViewModelFromThe(results);

        return View(viewModel);
    }
}

Für mich sieht das eher wie ein Supervising-Controller als klassische MVC. Nach Abschluss der Arbeiten im Modell gemacht werden, wird die Ansicht eine Viewmodel (aka PresentationModel) geleitet. Das Ansichtsmodell hat in der Regel eine 1 1-Beziehung mit den UI-Elementen in der Ansicht und kann oder auch nicht so etwas wie die Objekte in dem aktuellen Modell aussehen. Eine Ansicht, die auf einem Ansichtsmodell wirkt und nicht das eigentliche Modell riecht viel wie ein Passiv Blick auf mich.

Ich werde nicht in bekommen, ob dies ist eine „echte“ MVC-Implementierung oder nicht, aber wenn Ihr Argument ist, dass ASP.NET MVC nicht modernes Web-Design-Muster nicht verwenden muß ich widersprechen.

Best guess, jeder ist von MVC gehört. MVC ist schon eine ganze Weile, und damit eine ganze Generation als „best practice“ geschlagen in (oder zwei oder drei) von Entwicklern sehen MVC und denken gerne Gedanken.

Auch viele andere Frameworks vermählen MVC in einer ähnlichen Licht, so Microsoft wahrscheinlich ebenfalls fühlt sich gezwungen, zu tun.

Kurz gesagt, ich bezweifle sehr, dass es ein starker technischer Grund.

Sie können Ihre eigenen MVC mit dem aktuellen ASP.NET-Framework rollen und nach wie vor das Postback Modell halten.

http://www.codeproject.com/KB/aspnet/RollingYourOwnMVCwithASP.aspx

Dies ist eine große Frage, eine Menge Leute in den frühen Tagen des MVC diese Frage gestellt haben. Hier ist die Antwort von Phil Haack einer der führenden Entwickler für das Projekt!

http://haacked.com/archive/0001/01/01/everything-you-wanted-to-know-about-mvc-and-mvp-but.aspx

Überprüfen Sie es heraus, die Links lesen und gehen von dort aus.

Auch eine Antwort auf die Debatte vielleicht S # arp-Architektur. Sie haben eine Schicht auf der MVC gebaut, um es wie MVP zu machen zu handeln. Überprüfen Sie sie heraus, wenn Sie suchen soemthing in diese Richtung.

Viel Glück!

Ich denke, das eher ein „Panik-Marketing-Entscheidung“ war dann eine technische Entscheidung. RoR stahl Märkte jede Sekunde und MSFT völlig in Panik geraten, so MSFT fühlte sie hatten etwas zu liefern, die ihnen die Möglichkeit gab, wieder etwas von dem Hype zurück zu „ihrem Lager“ zu bekommen ...

Auch mussten sie ihre Entwickler gewinnen Selbstachtung bac teir wieder helfen, indem sie diese gehypten Wort mit sich selbst zu verbinden, so dass die NET-Entwickler selbst wieder in den Spiegel schauen können, ohne zu schämen das Gefühl, dass sie nicht wussten, MVC da die Plattform ihrer Wahl nicht diese Art von Muster für sie lieferte (aus der Box)

Für ein Medium Mann (NET) Entwickler ist es wirklich schwierig, nicht wie ein Dinosaurier zu fühlen, wenn ein Medium Mann RoR Entwickler Rake feuert und schafft eine Spitze in weniger als 15 Minuten, um eine Arbeits mit und vor dem Proof of Concept läuft. Net Entwickler selbst fertig beginnt vstudio.exe ...;)

Ich denke, es ist ein umstrittener Standpunkt, aber es ist mein, und ich werde es bis zum bitteren Ende verteidigen ...;)

Es gibt unzählige Beispiele heute diesen ja, MVC und Gerüste geben Ihnen einen ersten Geschwindigkeitsschub, ja. Aber für Wartbarkeit, die Wiederverwendung von Code, Verkapselung und meist alle wirklich wichtige Sache - MVC ist einfach nicht das „Allheilmittel“ und die meisten der Zeit WebForms weit überlegen sind auf lange Sicht (es sei denn, wie Toilette benutzt Papier natürlich)

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