Frage

Hat jemand eine gute Namenskonvention für Maßnahmen im MVC etabliert? Ich war auf der Suche speziell auf ASP.net MVC, aber es ist eine allgemeine Frage. Zum Beispiel habe ich eine Aktion, die den Login-Bildschirm zeigt (Login) und eine, die die Anmeldeanforderung von dieser Seite (LoginTest) verarbeiten. Ich bin nicht so scharf auf den Namen, und ich habe eine Menge von der applicaiton schreiben gelassen.

War es hilfreich?

Lösung

Rob Conery bei MS einig nützlichen RESTful Stil für Aktionen Benennung vorgeschlagen.

* Index - the main "landing" page. This is also the default endpoint.
* List - a list of whatever "thing" you're showing them - like a list of Products.
* Show - a particular item of whatever "thing" you're showing them (like a Product)
* Edit - an edit page for the "thing"
* New - a create page for the "thing"
* Create - creates a new "thing" (and saves it if you're using a DB)
* Update - updates the "thing"
* Delete - deletes the "thing"

Ergebnisse in URLs entlang der Linien (für ein Forum)

* http://mysite/forum/group/list - shows all the groups in my forum
* http://mysite/forum/forums/show/1 - shows all the topics in forum id=1
* http://mysite/forums/topic/show/20 - shows all the posts for topic id=20

Rob Conery auf RESTful-Architektur für MVC

Andere Tipps

Ich habe eine Blog-Eintrag von Stephen Walther nützlich für eine konsistente Namensgebung zu finden. Sein auch von einem REST-Stil Namensschema abgeleitet, mit einigen einzigartigen Ausnahmen, die erklärt er.

Rails eine schöne Aktion hat für CRUD-Operationen Namenskonvention: Rails Routing von außen nach innen .

HTTP Verb Path Controller#Action Used for GET /photos photos#index display a list of all photos GET /photos/new photos#new return an HTML form for creating a new photo POST /photos photos#create create a new photo GET /photos/:id photos#show display a specific photo GET /photos/:id/edit photos#edit return an HTML form for editing a photo PATCH/PUT /photos/:id photos#update update a specific photo DELETE /photos/:id photos#destroy delete a specific photo

Dies ist im Wesentlichen ein Update auf Paul Shannon Antwort , implizit, da seine Quelle (Rob Conery) sagt, dass er seine Liste von Rails kopiert.

Die eingebaute Django Aktionen Suffix _done. So würde LoginDone die Seite, die Login-Verfahren (in ASP.NET MVC Kamel Fall Stil).

Es ist ziemlich irrelevant, welche Konvention Sie für die Controller Aktion Namensgebung verwenden, solange es für Sie und leicht verständlich durch denjenigen arbeiten daran consistant ist.

Im Falle Ihrer Login Aktionen LoginDone ist in Ordnung und in derselben war ProcessLogin wird, ist leicht zu verstehen, verwenden Sie so eine Konvention, dass Sie sich wohl fühlen.

Persönlich würde ich wahrscheinlich mit Anmelde- und ProcessLogin Seite, wie LoginDone wahrscheinlich leicht in Bezug auf die irreführend ist, was die Aktion tut - das ist natürlich davon aus, dass die Maßnahme an die Anmeldeinformationen des Benutzers reagiert und zu prüfen, ob sie gültig sind. Sie könnten dann an eine andere Aktion durchlaufen genannt LoginDone, sobald die Anmeldung erfolgreich ist, oder LoginFailed wenn es nicht.

Stephen Walther Beitrag auf ASP.NET MVC Tipp # 11 - Verwenden Sie Standard-Controller Aktion Name würden Sie wahrscheinlich klärt über Konvention von MVC Action Namenskonvention für die Namensgebung ...

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