2012-01-27 63 views
14

假设我在我的控制器和模型中有我的Java/Spring/MVC webapp中的“设置”类。现在,在/controllers//models/中,我应该...Spring/MVC webapp中Controller和Model Java类的命名约定?

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

2)...将它们命名为SettingsController.javaSettingsModel.java或类似的东西?

我很好奇典型的命名约定以及在您的个人体验中使用的命名惯例运行良好。随意引用你自己的webapp项目来代替我的,也许是穷人的例子。

这是我的第一个MVC web应用程序,我试图去感受它。

回答

21

我建议你打电话给你的控制器SettingsController和模型只是Settings。这是因为模型实际上包含了你的数据。你的模型包含什么样的数据?答案是:设置。所以,把它叫做设置。

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

+2

绝大多数情况下,这似乎是正确的答案,并且它是完全有道理的。谢谢。你刚刚扩展了我对MVC的理解。 – Xonatron 2012-01-27 19:37:24

+0

不客气 – AlexR 2012-01-27 20:12:55

1

我觉得下面的风格是最一致的

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

的原因是,Settings是描述它到底是什么名字,而SettingsController描述,它是在Settings对象工作的控制器。

+0

我同意你的命名,但与封装结构不同意 - 我有他们两个在同一个包,或者至少在同一个包树。但这也可能是一个偏好问题。 – 2012-01-27 19:17:33

+0

@RobHruska我们使用'com.subdomainname.controllers'和'com.subdomainname.models'设置相同的方式,这是我工作的公司使用的结构,所以我必须遵循。 – Xonatron 2012-01-30 18:03:48

5

由于模型类描述的是“真实生活”的实体,所以最好用名称来称呼它们,所以在你的情况下它会是Settings.java

另一方面,控制器仅仅是使用特定体系结构(MVC)的副产品,所以它获得了Controller后缀,在您的情况下变为SettingsController.java

例如,如果您使用jsf完成了您的应用程序,您仍然可以使用Settings.java作为模型,但使用SettingsBean.java作为控制器(显然,这只是另一个约定,无论您喜欢,您都可以调用它)。

3

名称他们SettingsController.javaSettings.java

2

我会选择Settings.java和SettingsController.java。

*控制器遵循Spring的控制器命名约定。此外,它可以让程序员立即了解该课程的作用。

一般来说,我总是对POJO的简单名称满意,Settings.java似乎符合这里的法案。

1

我必须同意以前的海报,模型应该只是实体的名称,然后任何形容词应该是实体的后缀,因此Settings和SettingsController这是我经常使用的机智。我也使用设置作为网页的名称。

0

我会用

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

您可以使用命名为com.company.controller的软件包指出控制器类的控制器方面,但毕竟它是一个Servlet,并且与此命名相同,将不会出现任何错误。控制器在技术上可以是任何类型的任何东西。模型类也用它的包名来表示。

要通过信仰是盲从 - 本杰明·富兰克林