Spring/MVC webapp中控制器和模型Java类的命名约定?
假设我在我的控制器和模型中,在我的Java/Spring/mvcwebapp中有“settings”类。现在,在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网络应用程序,我正在尝试体
/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
,这是我工作的公司使用的结构,所以我必须遵循。