Кто-нибудь создал хорошее соглашение об именах для действия в MVC? Я специально смотрел ASP.net MVC, но это общий вопрос. Например, у меня есть действие, которое отображает экран входа (Login) и тот, который обрабатывает запрос на вход с этой страницы (LoginTest). Я не увлекаюсь именами, и у меня есть много приложений, которые нужно написать.
Конвенция о названии действий
Ответ 1
Роб Коньери в MS предложил некоторые полезные названия стиля RESTful для действий.
* 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"
приводит к URL-адресам в строках (для форума)
* 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
Ответ 2
Я нашел сообщение блога Стивена Вальтера, полезного для поиска последовательной схемы именования. Его также получают из схемы именования стиля REST с некоторыми уникальными исключениями, которые он объясняет.
Ответ 3
Rails имеет красивое соглашение об именовании действий для операций CRUD: Rails Routing from 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
Это, по сути, обновление ответа Павла Шеннона, так как его источник (Rob Conery) неявно говорит, что он скопировал свой список из Rails.
Ответ 4
Встроенный суффикс действий Django _done. Таким образом, LoginDone будет страницей, обрабатывающей Login (в стиле ASP.NET MVC для верблюда).
Ответ 5
Это довольно неуместно, какое соглашение вы используете для именования действий Controller, если оно вам подходит и легко понимается теми, кто работает над ним.
В случае действий входа в систему LoginDone в порядке и в том же самом ProcessLogin будет легко понять, поэтому используйте соглашение, с которым вам удобно.
Лично я бы, вероятно, столкнулся с Login и ProcessLogin, поскольку LoginDone, вероятно, немного вводит в заблуждение с точки зрения действия Action - это, конечно, предполагает, что Action реагирует на учетные данные пользователей и проверяет, являются ли они действительными. Затем вы можете перейти к другому действию под названием LoginDone после успешного входа в систему или входа в систему, если это не так.
Ответ 6
Сообщение Стивена Вальтера на Совет ASP.NET MVС# 11 - Использовать имена элементов управления стандартным, возможно, уточнит вас в отношении соглашения об именах MVC Action
соглашение об именах...