Question

Quelqu'un at-il établi une bonne convention de nommage pour les actions dans MVC? J'examinais 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 une autre qui traite la demande de connexion de cette page (LoginTest). Je ne suis pas passionné par les noms et il me reste beaucoup d’applications à écrire.

Était-ce utile?

La solution

Rob Conery, de MS, a suggéré un nommage 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"

génère des 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

Rob Conery sur l'architecture RESTful pour MVC

Autres conseils

J'ai trouvé un article de blog de Stephen Walther utile pour trouver un schéma de nommage cohérent. Il est également dérivé d'un schéma de nommage de style REST, à quelques exceptions près qu'il explique.

Rails a une convention de nommage d'action pratique pour les opérations CRUD: Routage Rails de l'extérieur

HTTP Verb Path Controller # Action utilisée pour GET / photos photos # index affiche une liste de toutes les photos GET / photos / new photos # new renvoie un formulaire HTML pour la création d'une nouvelle photo. POST / photos photos # create crée une nouvelle photo GET / photos /: id photos # show affiche une photo spécifique GET / photos /: id / edit photos # edit retourne un formulaire HTML pour éditer une photo PATCH / PUT / photos /: id photos # update met à jour une photo spécifique DELETE / photos /: id photos # destroy supprimer une photo spécifique

Il s'agit essentiellement d'une mise à jour de la réponse de Paul Shannon , depuis sa source (Rob Conery) dit implicitement qu'il a copié sa liste depuis Rails.

Le suffixe intégré aux actions Django _done. Donc, LoginDone serait la page qui traite Login (en style de casse de chameau ASP.NET MVC).

La convention que vous utilisez pour la dénomination Action du contrôleur n'a pas d'importance, tant qu'elle est consistante pour vous et facile à comprendre par ceux qui y travaillent.

Dans le cas de vos actions de connexion, LoginDone convient parfaitement et ProcessLogin est facile à comprendre. Vous devez donc utiliser une convention avec laquelle vous vous sentez à l'aise.

Personnellement, je me rangerais probablement avec Login et ProcessLogin, car LoginDone est probablement légèrement trompeur quant à la nature de l’action. Cela suppose bien sûr que l’action réagisse aux informations d’identité des utilisateurs et vérifie leur validité. Vous pouvez ensuite passer à une autre action appelée LoginDone une fois la connexion établie ou LoginFailed si ce n’est pas le cas.

Le message de

Stephen Walther sur Le conseil ASP.NET MVC n ° 11 - Utiliser des noms d’action de contrôleur standard vous éclairerait probablement sur la convention de dénomination de Action MVC convention de dénomination ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top