Convention De Nommage D'Action
Quelqu'un a-t-il établi une bonne convention de nommage pour l'action dans MVC? Je regardais spécifiquement ASP.net MVC mais c'est une question générale. Par exemple, j'ai une action qui affiche l'écran de connexion (Login) et qui traite la demande de connexion de cette page (LoginTest). Je ne suis pas vif sur les noms et j'ai beaucoup de l'applicaiton gauche à écrire.
6 réponses
Rob Conery chez MS a suggéré un nom de style RESTful utile pour les actions.
* 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"
Résultats dans les URL du type (pour un 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
Rails a une belle convention de nommage d'action pour les opérations CRUD: Rails routant de l'extérieur dans .
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
C'est essentiellement une mise à jour de la réponse de Paul Shannon , puisque sa source (Rob Conery) dit implicitement qu'il a copié sa liste de Rails.
J'ai trouvé un article de blog de Stephen Walther utile pour trouver un schéma de nommage cohérent. Ses sont également dérivés d'un schéma de nommage de style REST, avec quelques exceptions uniques qu'il explique.
Le suffixe D'actions Django intégré _done. Donc LoginDone serait la page qui traite la connexion (dans ASP.NET MVC chameau cas style).
La convention que vous utilisez pour le nom de L'Action du contrôleur n'est pas assez pertinente, tant qu'elle est cohérente pour vous et facilement comprise par ceux qui y travaillent.
Dans le cas de vos actions de connexion, LoginDone est bien et dans le même processus, ProcessLogin est facile à comprendre, alors utilisez une convention avec laquelle vous vous sentez à l'aise.
Personnellement, je serais probablement du côté de Login et ProcessLogin, car LoginDone est probablement légèrement trompeur en termes de ce qu'est l'Action faire-cela suppose bien sûr que l'Action réagit aux informations d'identification des utilisateurs et vérifie si elles sont valides. Vous pouvez ensuite passer à une autre Action appelée LoginDone une fois la connexion réussie, ou LoginFailed si ce n'est pas le cas.
Poste de Stephen Walther sur ASP.NET astuce MVC # 11-utiliser des noms D'Action de contrôleur Standard vous clarifierait probablement en ce qui concerne la convention de nommage de MVC Action
convention de nommage...