Spring/MVC webapp中控制器和模型Java类的命名约定?

Spring/MVC webapp中控制器和模型Java类的命名约定?,java,web-applications,spring-mvc,Java,Web Applications,Spring Mvc,假设我在我的控制器和模型中,在我的Java/Spring/mvcwebapp中有“settings”类。现在,在/controllers/和/models/中,我应该 1) …将它们命名为Settings.java 2) …将它们命名为SettingsController.java和SettingsModel.java或类似的名称 我很好奇典型的命名约定,以及你个人经历中使用的命名约定。请随意参考您自己的webapp项目,而不是我的,也许很差的例子 这是我的第一个MVC网络应用程序,我正在尝试体

假设我在我的控制器和模型中,在我的Java/Spring/mvcwebapp中有“settings”类。现在,在
/controllers/
/models/
中,我应该

1) …将它们命名为
Settings.java

2) …将它们命名为
SettingsController.java
SettingsModel.java
或类似的名称

我很好奇典型的命名约定,以及你个人经历中使用的命名约定。请随意参考您自己的webapp项目,而不是我的,也许很差的例子


这是我的第一个MVC网络应用程序,我正在尝试体验它。

我认为以下风格最为连贯

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

原因是
Settings
是一个名称,准确描述了它是什么,而
SettingsController
描述了它是一个处理
Settings
对象的控制器

因为模型类描述了“真实”实体,所以最好按名称来称呼它们,所以在您的例子中应该是
Settings.java

另一方面,控制器只是使用特定体系结构(MVC)的副产品,因此它获得
Controller
后缀,在您的例子中变成
SettingsController.java


例如,如果您使用jsf开发应用程序,您仍然可以将
Settings.java
作为模型,但将
SettingsBean.java
作为控制器(显然,这只是另一种约定,您可以随意调用它).

给它们命名
SettingsController.java
Settings.java
我建议你给你的控制器
SettingsController
打电话,只需建模
Settings
。这是因为模型实际上包含您的数据。您的模型包含哪些类型的数据?答案是:设置。所以,称之为设置


控制器是不同的故事。它是一个处理数据的类。可能有许多类处理设置:
SettingsBuilder
SettingsFactory
SettingsUtil
SettingsService
等。这一类是控制器,所以称它为
SettingsController

我选择settings.java和setingsController.java

*控制器遵循Spring的控制器命名约定。此外,它让程序员能够立即理解类的功能


一般来说,我总是喜欢POJO的简单名称,Settings.java似乎符合这里的要求。

我必须同意前面的海报,Model应该只是实体的名称,然后任何形容词都应该是实体的后缀,因此Settings and Settings controller这是我经常采用的策略。我还使用设置作为网页的名称。

我会使用

控制器的
com.company.controller.SettingsServlet.java
,模型类的
com.company.model.Settings.java

您可以使用包命名
com.company.controller
来指示控制器类的控制器方面,但它毕竟是一个Servlet,并且与此命名的任何其他内容一样是无误的。从技术上讲,控制器可以是任何类型的。模型类也由其包名指示


仅凭信仰跟随就是盲目跟随——本杰明·富兰克林(Benjamin Franklin)

我同意你的命名,但不同意软件包的结构——我希望它们都在同一个软件包中,或者至少在同一个软件包树下。但这也可能是一个偏好问题。@RobHruska我们用同样的方式设置它,使用
com.subdomainname.controllers
com.subdomainname.models
,这是我工作的公司使用的结构,所以我必须遵循。