Frage

Ich habe hier und verschiedene Artikel auf MVC durch ein paar Fragen zu lesen und sehen kann, wie es kann sogar zu GUI-Ereignisse intensiver Anwendungen wie eine Farbe app angewandt werden.

Kann mir jemand eine Situation zitieren, wo MVC könnte eine schlechte Sache und seine Verwendung schlecht beraten sein?

EDIT: Ich spreche speziell über GUI-Anwendungen hier

War es hilfreich?

Lösung

Ich habe versucht, MVC in meinem Netzwerk Kernel-Treiber. Der Patch wurde abgelehnt.

Andere Tipps

Ich glaube, du bist es Art von rückwärts suchen. Der Punkt ist nicht zu sehen, wo Sie ein Muster wie MVC anwenden können, ist der Punkt, um die Muster zu lernen und erkennen, wenn das Problem, das Sie natürlich versuchen zu lösen kann, indem das Muster gelöst werden. Also, wenn Ihr Problem Raum kann natürlich in Modell, View und Controller aufgeteilt wird, dann ist es ein guter Kandidat für MVC. Wenn Sie nicht so leicht, welche Teile Ihres Design fallen in die drei Kategorien sehen kann, kann es nicht das geeignete Muster sein.

MVC macht Sinn für Web-Anwendungen. In Web-Anwendungen, verarbeiten Sie einige Daten (auf SA: Fragen zu schreiben, das Hinzufügen von Kommentaren, die Benutzerinformationen zu ändern), Sie Zustand haben (angemeldete Benutzer), die Sie nicht viele verschiedene Seiten haben, aber viele unterschiedliche Inhalte zu passen in diese Seiten. Eine Frage Seite gegen eine Million Fragen.

CMS Für die Herstellung zum Beispiel ist MVC nutzlos. Sie haben noch keine Modelle, keine Controller, nur Textseiten mit Dekorationen und Menüs. Das Problem wird nicht mehr - Datenverarbeitungs. Das Problem ist jetzt, dass die Textinhalte richtig dient

Tho, CMS Admin auf der MVC bauen würde ganz gut, es ist nur Benutzerteil das wäre nicht.

Für Web-Service, sollten Sie besser REST verwenden, die, glaube ich, eine deutliche Paradigma ist.

WebDAV-Anwendung würde nicht stark von MVC profitieren, auch nicht.

Die Einschränkung auf Rubin für Web-Programmierung ist, dass Rails besser für Gebäude geeignet ist Web Applikationen. Ich habe viele Projekte Versuch gesehen kläglich einen WebDAV-Server oder ein Content Management System CMS mit Rails und nicht zu schaffen. Während Sie ein CMS in Rails tun können, gibt es viel effiziente Technologien für die Aufgabe, wie Drupal und Django. In der Tat, würde ich sagen, wenn Sie bei einem Java-Portal Entwicklungsaufwand suchen, Sie Drupal und Django für die Aufgabe bewerten sollten stattdessen.

Alles, wo Sie in 3rd-Party-Komponenten fallen wollen, wird es schwer machen in dem MVC-Muster zu arbeiten. Ein gutes Beispiel hierfür ist ein CMS.

Jede Komponente Sie werden ihre „eigene“ Controller-Objekte bekommen haben, und Sie werden „Kontrolle“ des Modells zu teilen nicht in der Lage sein -> ui Passing.

Ich weiß nicht unbedingt, dass MVC ist jemals wirklich eine schlecht Idee für eine GUI-Anwendung. Aber es gibt Alternativen, die wohl besser sind (und auch wohl schlimmer, je nach deren Meinung Sie fragen). Die häufigste ist MVP. Sehen Sie hier für eine Erklärung: Alles, was Sie wollten über MVC und MVP wissen, aber bisher nicht fragen wagten .

Obwohl ich glaube, es wäre eine schlechte Idee seines MVC zu verwenden, wenn Sie einen Rahmen verwenden oder auf andere Weise mit der Software interagieren, die nicht mit MVC konzipiert wurde.

Mit anderen Worten, es ist eine Menge, wie Programmiersprachen zu vergleichen. Es ist in der Regel nicht viele Aufgaben, die man sagen kann, dass man besser ist als die andere für. Es läuft darauf hinaus in der Regel bis auf Programmierer bevorzugt, die Verfügbarkeit von Bibliotheken und die Erfahrung des Teams.

MVC sollte nicht in Anwendungen eingesetzt werden, in denen die Leistung entscheidend ist. Ich weiß nicht, ob dies noch mit der Erhöhung der Rechenleistung applys nur ein Beispiel ist eine Call-Center-Anwendung. Wenn Sie 0,5 Sekunden pro Anruf sparen können Eingabe und Aktualisierung von Informationen hinzufügen, diese Einsparungen im Laufe der Zeit. Um das letzte Quäntchen Leistung aus Ihrem App sollten Sie eine Desktop-Anwendung verwenden statt einer Web-App und haben es direkt auf die Datenbank sprechen.

Wann ist es eine schlechte Sache? Wo immer es gibt einen anderen Code-Struktur, die besser Ihr Projekt passen würde.

Es gibt unzählige Projekte, bei denen MVC nicht „fit“, aber ich sehe nicht, wie eine Liste von ihnen von Nutzen sein würde ..

Wenn MVC passt, verwenden Sie es, wenn nicht, verwenden Sie etwas anderes ..

MVC und ORM ist ein Witz .... sie nur angemessen sind, wenn Ihre Anwendung keine Datenbank-App ist, oder wenn Sie wollen Agnostiker die App-Datenbank zu halten. Wenn Sie einen RDBMS verwenden, das gespeicherte Prozedur unterstützt, dann ist das der einzige Weg zu gehen. Stored Procs ist der bevorzugte Ansatz für erfahrene Anwendungsentwickler. MVC und ORM werden nur von Unternehmen gefördert versuchen, Produkte oder Dienstleistungen zu diesen Technologien mit Bezug zu verkaufen (zum Beispiel Microsoft versucht VS zu verkaufen). Stoppen Sie Ihre Zeit für das Erlernen Java und C # verschwenden, konzentrieren sich stattdessen auf das, was wirklich zählt, Javascript und SQL.

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