Подтвердить что ты не робот

Конвенция о названии действий

Кто-нибудь создал хорошее соглашение об именах для действия в MVC? Я специально смотрел ASP.net MVC, но это общий вопрос. Например, у меня есть действие, которое отображает экран входа (Login) и тот, который обрабатывает запрос на вход с этой страницы (LoginTest). Я не увлекаюсь именами, и у меня есть много приложений, которые нужно написать.

4b9b3361

Ответ 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

Rob Conery в RESTful Architecture для MVC

Ответ 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 после успешного входа в систему или входа в систему, если это не так.