tag net mvc component asp asp.net-mvc model-view-controller

asp.net-mvc - mvc - render partial asp net core



Convención de Nombramiento de Acción (6)

¿Alguien ha establecido una buena convención de nombres para la acción en MVC? Estaba buscando específicamente ASP.net MVC, pero es una pregunta general. Por ejemplo, tengo una acción que muestra la pantalla de inicio de sesión (Inicio de sesión) y otra que procesa la solicitud de inicio de sesión desde esa página (LoginTest). No estoy interesado en los nombres y tengo muchas aplicaciones pendientes para escribir.


El sufijo de acciones Django incorporado _done. Así que LoginDone sería la página que procesa el inicio de sesión (en ASP.NET MVC camel case style).


Es bastante irrelevante qué convención utilice para la denominación de Controller Action, siempre y cuando sea consistente para usted y fácil de entender para quienes trabajan en ella.

En el caso de sus acciones de inicio de sesión, LoginDone está bien y en el mismo ProcessLogin será fácil de entender, así que use una convención con la que se sienta cómodo.

Personalmente, probablemente estaría del lado de Login y ProcessLogin, ya que LoginDone probablemente sea un poco engañoso en términos de lo que está haciendo la Acción; esto es, por supuesto, asumiendo que la Acción está reaccionando a las credenciales de los usuarios y verificando si son válidas. A continuación, puede pasar a otra Acción llamada LoginDone una vez que el inicio de sesión sea exitoso, o LoginFailed si no es así.


He encontrado una publicación de blog de Stephen Walther útil para encontrar un esquema de nombres consistente. También se derivan de un esquema de nombres de estilo REST, con algunas excepciones únicas que explica.



Rails tiene una buena convención de nombres de acción para operaciones CRUD: Rails Routing from the Outside In .

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

Esto es esencialmente una actualización de la respuesta de Paul Shannon , ya que su fuente (Rob Conery) dice implícitamente que copió su lista de Rails.


Rob Conery en MS sugirió algunos nombres útiles de estilo REST para las acciones.

* 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"

resultados en URLs en la línea de (para un foro)

* 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 en arquitectura RESTful para MVC