Именования соглашений классов Controller и Model Java в Spring/MVC webapp?
Скажем, у меня есть классы "настроек" в моих контроллерах и моделях, в моем Java/ Spring/MVC webapp. Теперь, как в /controllers/
, так и в /models/
, я должен...
1)... назовите их оба Settings.java
?
2)... назовите их SettingsController.java
и SettingsModel.java
или что-то подобное?
Мне интересны типичные соглашения об именах, а также соглашения об именах, используемые в вашем личном опыте, которые хорошо работали. Не стесняйтесь ссылаться на свой собственный проект webapp вместо моего, возможно, плохого примера.
Это мой первый MVC-webapp, и я пытаюсь понять его.
Ответы
Ответ 1
Я предлагаю вам позвонить вашему контроллеру SettingsController
и моделировать только Settings
. Это потому, что на самом деле модель содержит данные. Какие данные содержится в вашей модели? Ответ: настройки. Итак, назовите его настройками.
Контроллер - это другая история. Это класс, который касается ваших данных. Есть, вероятно, много классов, которые относятся к настройкам: SettingsBuilder
, SettingsFactory
, SettingsUtil
, SettingsService
и т.д. Это один контроллер, поэтому назовите его SettingsController
.
Ответ 2
Так как модельные классы описывают "реальные" сущности, лучше назвать их по имени, поэтому в вашем случае это будет Settings.java
.
Контроллер, с другой стороны, является лишь побочным продуктом использования конкретной архитектуры (MVC), поэтому он получает суффикс Controller
и в вашем случае становится SettingsController.java
.
Если вы использовали приложение jsf, например, у вас все еще может быть Settings.java
как модель, но SettingsBean.java
в качестве контроллера (очевидно, это просто другое соглашение, и вы можете назвать его, как вам нравится).
Ответ 3
Назовите их SettingsController.java
и Settings.java
Ответ 4
Я бы выбрал Settings.java и SettingsController.java.
* Контроллер следует за условным обозначением контроллера w760 > . Кроме того, он позволяет программисту сразу понять, что делает класс.
Как правило, я всегда пухлый для простых имен для POJO, Settings.java, кажется, соответствует законопроекту здесь.
Ответ 5
Я думаю, что следующий стиль наиболее согласован.
com.company.web.controller
+- SettingsController.java
com.company.web.model
+- Settings.java
Причина в том, что Settings
- это имя, описывающее именно то, что оно есть, а SettingsController
описывает, что это контроллер, работающий над объектами Settings
.
Ответ 6
Я должен согласиться с предыдущими плакатами, модель должна быть просто именем сущности, а затем все, что прилагательное должно быть суффиксом сущности, поэтому Settings и SettingsController Это такт, который я принимаю довольно часто. Я также использую настройки как имя веб-страницы.
Ответ 7
Я бы использовал
com.company.controller.SettingsServlet.java
для контроллера и com.company.model.Settings.java
для класса модели.
Вы можете указать аспект контроллера класса Controller, используя имя пакета com.company.controller
, но это Servlet в конце концов и будет безошибочным, как что-либо еще с этим наименованием. Контроллер может быть технически любым типом. Класс модели также обозначается его именем пакета.
Следование только верой - слепо следовать - Бенджамин Франклин