соглашения об именах классов Java контроллера и модели в веб-приложении Spring / MVC? - PullRequest
16 голосов
/ 27 января 2012

Допустим, у меня есть классы "настройки" в моих контроллерах и моделях, в моем веб-приложении Java / Spring / MVC.Теперь и в /controllers/, и в /models/ я должен ...

1) ... назвать их обоих Settings.java?

2) ... назвать их SettingsController.java и SettingsModel.java или что-то подобное?

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

Это мое первое веб-приложение MVC, и я пытаюсь понять его.

Ответы [ 7 ]

26 голосов
/ 27 января 2012

Я бы посоветовал вам назвать ваш контроллер SettingsController, а модель просто Settings. Это потому, что модель на самом деле содержит ваши данные. Какие данные содержит ваша модель? Ответ: настройки. Итак, назовите это настройки.

Контроллер это отдельная история. Это класс, который имеет дело с вашими данными. Вероятно, есть много классов, которые имеют дело с настройками: SettingsBuilder, SettingsFactory, SettingsUtil, SettingsService и т. Д. Это контроллер, поэтому назовите его SettingsController.

5 голосов
/ 27 января 2012

Поскольку классы моделей описывают «реальные» сущности, лучше называть их по имени, поэтому в вашем случае это будет Settings.java.

Контроллер, с другой стороны, является просто побочным продуктом использования конкретной архитектуры (MVC), поэтому он получает суффикс Controller и в вашем случае становится SettingsController.java.

Если выесли ваше приложение использует jsf, например, вы все еще можете иметь Settings.java в качестве модели, но SettingsBean.java в качестве контроллера (очевидно, это просто еще одно соглашение, и вы можете называть его как хотите).

3 голосов
/ 27 января 2012

Назовите их SettingsController.java и Settings.java

2 голосов
/ 27 января 2012

Я бы выбрал Settings.java и SettingsController.java.

* Контроллер следует соглашению Spring об именовании контроллеров.Кроме того, это позволяет программисту сразу понять, что делает класс.

Как правило, я всегда полон простых имен для POJO, так что Settings.java здесь вполне подходит.

1 голос
/ 28 января 2012

Я должен согласиться с предыдущими постерами: модель должна быть просто именем сущности, а затем все, что прилагательное должно быть суффиксом сущности, поэтому Settings и SettingsController Это такт, который я использую довольно часто. Я также использую настройки в качестве имени веб-страницы.

1 голос
/ 27 января 2012

Я думаю, что следующий стиль является наиболее последовательным

com.company.web.controller
               +-  SettingsController.java
com.company.web.model
               +-  Settings.java

Причина в том, что Settings - это имя, которое точно описывает, что это такое, а SettingsController описывает, что это контроллер, работающий с Settings объектами.

0 голосов
/ 25 ноября 2017

Я бы использовал

com.company.controller.SettingsServlet.java для контроллера и com.company.model.Settings.java для класса модели.

Вы можете указать аспект контроллера класса Controller, используя имя пакета com.company.controllerно в конце концов это сервлет, и он будет безошибочным, как и все остальное с этим названием.Контроллер технически может быть любым типом.Класс модели также указан в названии пакета.

Следовать только по вере - значит слепо следовать - Бенджамин Франклин

...