#asp.net-mvc #controller #naming
#asp.net-mvc #контроллер #именование
Вопрос:
Я знаю, что это вопрос, который задавался сотни раз раньше, но я подчеркиваю схему именования, которую я использую Controllers
в своем ASP.Net Приложение MVC.
Скажем, например, у меня есть вызываемая модель, которую я могу просматривать, обновлять и удалять. User
Аналогично, у меня также есть коллекция Users
, которую я могу искать, выдавая много результатов.
Поскольку маршрутизация имеет форму {controller}/{action}/{parameter}
, тогда моя «английская» голова считает, что URL-адрес:
http://localhost/users/view/123
неверно, поскольку URL относится к одному продукту, тогда как:
http://localhost/user/view/123
правильно, поскольку пользователь просматривает один продукт
И аналогично, с Product
и Products
:
http://localhost/product/edit/P123456
http://localhost/products/?searchQuery
Кажется, это имеет больше смысла (ну, во всяком случае, для меня) и, таким образом, означает, что я должен реализовать два Controllers
для каждого Model
, но, по крайней мере, это означает, что я знаю, что единственный контроллер имеет дело с одним объектом, тогда как множественная версия имеет дело с несколькими объектами:
UserController
-> Добавить, отредактировать, просмотреть, удалить
UsersController
-> Найти, удалить
Я думаю, единственная ложка дегтя в бочке меда — это когда я сталкиваюсь с объектом, который является тем же единственным, что и множественное число, но в рамках моего проекта это может быть довольно редкой вещью.
Извините, если это бессмысленная болтовня, однако я был бы признателен за некоторую информацию от пользователей, которые проходили через это раньше.
Комментарии:
1. Голосование за закрытие в основном основано на мнениях. Если он работает правильно, то мнение SO по этому поводу не имеет большого значения. Используйте свое собственное суждение.
Ответ №1:
Это не имеет значения. Пользователи обычно не переходят по вашему сайту, вводя URL-адреса, а щелкая ссылки, кнопки, меню, ….