Соглашение об именовании действий - PullRequest
25 голосов
/ 23 сентября 2008

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

Ответы [ 6 ]

40 голосов
/ 23 сентября 2008

Роб Конери из 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

Роб Конери об архитектуре RESTful для MVC

1 голос
/ 21 мая 2015

В Rails есть хорошее соглашение об именах действий для операций CRUD: Маршрутизация в Rails из внешнего источника .

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

По сути, это обновление Ответ Пола Шеннона , поскольку его источник (Роб Конери) неявно говорит, что он скопировал свой список из Rails.

1 голос
/ 23 сентября 2008

Я нашел сообщение в блоге Стивена Вальтера , полезное для поиска последовательной схемы именования. Его также получены из схемы именования в стиле REST, с некоторыми уникальными исключениями, которые он объясняет.

0 голосов
/ 17 августа 2016

Сообщение Стивена Уолтера о ASP.NET MVC Совет № 11 - Используйте стандартные имена действий контроллера , вероятно, прояснит вас относительно соглашения об именовании MVC Action соглашения об именах ...

0 голосов
/ 23 сентября 2008

Не имеет значения, какое соглашение вы используете для именования действий контроллера, если оно для вас согласовано и легко понимается теми, кто над ним работает.

В случае ваших действий при входе в систему LoginDone в порядке и в том же духе, что и ProcessLogin, легко понять, поэтому используйте соглашение, которое вам удобно.

Лично я бы, вероятно, принял сторону Login и ProcessLogin, поскольку LoginDone, вероятно, немного вводит в заблуждение с точки зрения того, что делает Действие - это, конечно, предполагает, что Действие реагирует на учетные данные пользователей и проверяет, действительны ли они. Затем вы можете перейти к другому действию, называемому LoginDone, после успешного входа в систему, или LoginFailed, если это не так.

0 голосов
/ 23 сентября 2008

Встроенный суффикс действий Django _done. Таким образом, LoginDone будет страницей, которая обрабатывает Login (в стиле верблюда ASP.NET MVC).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...