2 Stimmen

MVC-Controller-Entwurf

Ich bin auf MVC-Projekt arbeiten und auf Admin-Seite habe ich CRUD Formen für erstellen Products , Category , SubCategory .

Welcher dieser Ansätze ist besser?

  1. Eine erstellen AdminController und haben CRUD-Action-Methoden für Produkte, Kategorien und Unterkategorien.
  2. Separate Controller für Produkte, Kategorien und Unterkategorien erstellen, die individuelle CRUD-Aktionsmethoden haben?

Danke für die Hilfe

3voto

Carles Company Punkte 6855

Wie die anderen schon gesagt haben, ist es besser, getrennte Controller zu haben. Ich würde auch empfehlen, sie in einem Admin-Bereich zu platzieren, damit Sie die Funktionalität "getrennt" von der Hauptseite haben.

0voto

Darren Lewis Punkte 8168

Es ist immer am besten, die Controller so leicht wie möglich zu halten, daher würde ich für jeden Controller einen eigenen nehmen. Vielleicht möchten Sie einen Blick auf die MVC-Controller-Gerüst Funktion, die jetzt im MVC 3 Tools Update leichter verfügbar ist. Es ist perfekt für diese Art von "einfachen" CRUD-Arbeiten.

0voto

GeertvdC Punkte 2580

Ich würde mich dafür entscheiden, alle Funktionen mit Products im Products Controller usw. zu haben, hauptsächlich wegen der Grundsatz der einzigen Verantwortung

in MVC3 können Sie automatisch Controller mit CRUD-Methoden / Bildschirmen erzeugen, wenn Sie den Assistenten zum Hinzufügen von Controllern verwenden.

Beispiel: http://msdn.microsoft.com/en-us/data/gg685467

Imo sollte der Controller nur eine dünne Schicht sein, die mit einer Geschäftsdienstschicht spricht, die die gesamte Geschäftslogik abwickelt. Zum Beispiel die Produkte könnten Sie ein ProductService erstellen, die Ihre Geschäftslogik behandeln wird.

0voto

Arnis Lapsa Punkte 42566

Normalerweise ist es eine gute Sache, die REST-Grundsätze .

Die Idee ist ganz einfach: Jede "Ressource" sollte einem Controller zugeordnet werden (Ansatz Nr. 2).

Ich denke jedoch, dass es besser ist, "entlang der natürlichen Fugen zu schneiden".
Damit meine ich - manchmal führt die Dekomposition (Aufteilung in mehrere Steuerungen) nur um ihrer selbst willen zu unnötiger Komplexität. Controller sollten entsprechend Ihren Anwendungsfällen erscheinen.

Beginnen Sie mit einer (die als die wichtigste erscheint) und schneiden Sie die nächste, wenn die aktuelle ~100 loc überschreitet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X