Кто-нибудь создал хорошее соглашение об именах для действия в MVC? Я специально смотрел ASP.net MVC, но это общий вопрос. Например, у меня есть действие, которое отображает экран входа (Login) и тот, который обрабатывает запрос на вход с этой страницы (LoginTest). Я не увлекаюсь именами, и у меня есть много приложений, которые нужно написать.Конвенция об именовании действий
ответ
Rob Conery в 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
Встроенный суффикс действий Django _done. Таким образом, LoginDone будет страницей, обрабатывающей Login (в стиле ASPC MVC для верблюда).
Это хорошо, но это означает, что вход не было завершено, когда на самом деле сделано действие обработки логина , Возможно, PromptLogin и Login. – stimms 2008-09-23 00:58:41
Это не имеет никакого отношения к тому, какое соглашение вы используете для именования действий контроллера, если оно вам подходит и легко понимается теми, кто работает над ним.
В случае вашего входа в систему, LoginDone в порядке и в том же самом ProcessLogin будет легко понять, поэтому используйте соглашение, с которым вам удобно.
Лично я, вероятно, был бы стороной с Login и ProcessLogin, поскольку LoginDone, вероятно, немного вводит в заблуждение с точки зрения действия Action - это, конечно, предполагает, что Action реагирует на учетные данные пользователей и проверяет, действительны ли они , Затем вы можете перейти к другому действию под названием LoginDone после успешного входа в систему или входа в систему, если это не так.
Я нашел blog post by Stephen Walther полезно для нахождения последовательного схема именования. Его также получают из схемы именования стиля REST с некоторыми уникальными исключениями, которые он объясняет.
Rails имеет красивое соглашение об именовании действий для операций 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
Это по существу обновление Paul Shannon's answer, с момента его источника (Rob Конери) неявно говорит, что он скопировал свой список из Rails.
Стивена Вальтера на ASP.NET MVC Tip #11 – Use Standard Controller Action Names, вероятно, разъяснить вам в отношении к именованию о MVC Action
именовании ...
Я также вижу, что с помощью новейшего MVC вы можете установить, какие глаголы приняты действием, поэтому вы можете назвать действие Edit как для начальной загрузки страницы, так и для сохранения информации. – stimms 2008-10-23 01:11:04
Кажется, что сообщение от Роба Конира предшествует способности давать как форму отображения, так и методы формы формы. Я также отмечаю, что образец Nerd Dinner имеет Edit, но в шаблоне Controller есть Update для модификации объекта. – Richard 2009-07-19 13:21:07