2008-11-28 8 views
7

Gibt es einen Grund, dass MVC nicht gleichermaßen für Desktop-Apps wie für Web-Apps nützlich ist?MVC.NET für den Desktop

Was wäre erforderlich, um eine ASP.NET MVC-Verzeichnisstruktur als Desktop-App implementierbar zu machen?

Antwort

3
+1

Dies ist eigentlich ein MVVM-Framework. http://stackoverflow.com/questions/667781/what-is-the-difference-between-mvc-and-mvvm – Justin

+1

Ich werde den Unterschied mit Ihnen jeden Tag teilen :) – ehosca

1

Ich habe immer den Begriff MVC als die gleiche wie eine n-Layer-Anwendung gedacht - also korrigieren Sie mich, wenn ich hier falsch liege Leute.

Wenn ich develope, habe ich immer (es sei denn, andere angewiesen) verwenden Sie die folgende Modell/Struktur, auch in Anwendungen:

GUI (Web, Winform, was auch immer) -> Geschäftslogik -> Datenschicht -> Und auch mit einem zugrunde liegenden "Modell"

... Was ist eine Art von MVC - Also ja, es ist auch nützlich für Desktop-Apps. Der Hauptvorteil dabei ist, dass Sie Web-, Win- und mobile (++) Anwendungen entwickeln können, die auf demselben Code basieren.

Eine andere Sache, die getan werden könnte, ist es, die Daten/businesslayers als Web-Services zu erstellen ...

Ich denke, das aproach als SOA qualifizieren würde.

EDIT: Als eine Anmerkung, die vier Ebenen der Anwendungen werden als separate Projekte erstellt - und dann als Verweis auf entweder das Projekt oder die DLL oder von der GAC (oder wo auch immer Sie möchten .... .) :) Somit wird die Notwendigkeit einer Verzeichnisstruktur nicht benötigt.

0

Hmmm ... gut, Ihre Ansicht kann als alles gerendert werden ... HTML, XML, usw. Also, warum nicht XAML? Ich frage mich, ob Sie Ihre WPF- oder Silverlight-App auf diese Weise im MVC-Framework arbeiten lassen können, dh, dass kein Webserver ausgeführt werden muss.

+0

Ohh ... Schöne Punkte Brian ... Genisio ... Aus dem Wort "Genesis"?;) –

+0

(Hinweis für andere: Zum Zeitpunkt der Veröffentlichung des Kommentars - Brian Genisio hatte "666" Punkte;) –

0

Es gibt nichts, Sie ist zu stoppen von dem MVC-Muster in einem Desktop-App. In der Tat wurde es auf dem Desktop verwendet, bevor es ein Web gab.

See Wikipedia for some examples

MVC steht nur für „Model View Controller“, die die Art und Weise beschreibt, dass Bedenken voneinander mit dem MVC-Muster getrennt sind.

Soweit ASP.NET MVC auf dem Desktop verwenden, gibt es ein paar Probleme. Zum einen beruht es auf HTTP-Anfragen und -Antworten. Sie benötigen eine Serverschicht als Teil Ihrer Anwendungsarchitektur, um auf Anforderungen zu warten und Antworten zu senden. Zweitens sind ASP.NET MVC-Ansichten wirklich nur einfache HTML-Textdateien, die von einer Webbrowsers interpretiert werden sollen. Sie benötigen also eine HTML-Rendering-Komponente als GUI-Frontend. Sie würden wahrscheinlich auch eine CSS-Rendering-Engine und einen JavaScript-Interpreter wünschen.

Im Grunde genommen würden Sie nur einen dedizierten Browser als Front-End und einen lokalen Webserver als Back-End verwenden.

Es gibt wirklich nicht viel Bedarf, da es bereits viele großartige MVC-Frameworks gibt. Es gibt auch eng verwandte Muster wie MVP (Model View Presenter) und MVVM (Model-View-View Model). Zum Beispiel sind viele WPF (Windows Presentation Framework) -Apps MVVM.