假设我的控制器和模型中有“设置”类,在我的Java / Spring / MVC webapp中。现在,在/controllers/
和/models/
中,我应该......
1)...将它们命名为Settings.java
?
2)...将他们命名为SettingsController.java
和SettingsModel.java
或类似名称?
我很好奇典型的命名约定以及个人体验中使用的命名约定。随意引用您自己的webapp项目来代替我的,可能很差的例子。
这是我的第一个MVC webapp,我正试图感受它。
答案 0 :(得分:26)
我建议你打电话给你的控制器SettingsController
并模拟Settings
。这是因为模型实际上包含你的数据。您的模型包含哪些数据?答案是:设置。所以,称之为设置。
控制器是不同的故事。这是一个处理数据的类。可能有许多类处理设置:SettingsBuilder
,SettingsFactory
,SettingsUtil
,SettingsService
等。这一个是控制器,所以称之为SettingsController
。< / p>
答案 1 :(得分:5)
由于模型类描述了“真实”实体,因此最好通过名称来调用它们,因此在您的情况下它将是Settings.java
。
控制器只是使用特定架构(MVC)的副产品,因此它获得Controller
后缀,在您的情况下变为SettingsController.java
。
例如,如果您使用jsf执行了应用程序,您仍然可以将Settings.java
作为模型,但SettingsBean.java
作为控制器(显然这只是另一种惯例,您可以随意调用它)
答案 2 :(得分:3)
为他们命名SettingsController.java
和Settings.java
答案 3 :(得分:2)
我选择了Settings.java和SettingsController.java。
* Controller遵循Spring的控制器命名约定。此外,它让程序员立即了解该类的功能。
一般来说,我总是喜欢POJO的简单名称,Settings.java似乎符合这个要求。
答案 4 :(得分:1)
我认为以下风格是最连贯的
com.company.web.controller
+- SettingsController.java
com.company.web.model
+- Settings.java
原因是Settings
是一个完全描述它是什么的名称,而SettingsController
描述它是一个处理Settings
个对象的控制器。
答案 5 :(得分:1)
我必须同意以前的海报,模型应该只是实体的名称,然后任何形容词都应该是实体的后缀,所以设置和设置控制器这是我经常采取的机制。我也使用设置作为网页的名称。
答案 6 :(得分:0)
我会用
控制器为 com.company.controller.SettingsServlet.java
,模型类为com.company.model.Settings.java
。
您可以使用程序包命名com.company.controller
来指示Controller类的控制器方面,但它毕竟是一个Servlet,并且与此命名无关。从技术上讲,控制器可以是任何类型的控制器。模型类也用它的包名称表示。
单凭信仰就是盲目追随 - 本杰明富兰克林