这些天我曾经使用JSF,但是有一个"约定"我不确定是否应该使用。在使用托管bean时,人们习惯将其命名为XxxxxManagedBean
,其中前缀可以是与您的业务相关的任何名称。
你这样工作过吗?特别是,我不太喜欢它,尽管它使搜索变得容易。你是否在使用另一种约定?
谢谢你回答这个简单的疑问。
JSF本身没有规定严格的约定。我见过以下约定:
-
FooBean
-
FooBacking
-
FooManager
-
FooController
-
FooManagedBean
或者仅仅是Foo
,然后放在特定的包中,如com.example.controller
, com.example.backing
甚至com.example.view
等
我自己倾向于将FooManager
用于应用程序和会话范围的bean(例如DataManager
, UserManager
, LocaleManager
等)和Foo
,或者根据我当前项目的要求,FooBacking
(例如Login
或LoginBacking
)用于请求和视图范围的bean,它们通常绑定到特定的<h:form>
和/或视图。
FooBean
太模糊。实际上,很多类都可以标记为javabean。JSF托管bean、JPA实体、ejb、数据传输对象、值对象等。Bean
的命名并没有以任何方式表明类的真正职责。的确,我经常在博客或论坛/问答的通用代码示例中使用public class Bean
或MyBean
,但在现实世界中,您应该避免这样做。
FooManagedBean
在IMO上是一个糟糕的名字,它不仅太长而且难看,而且从技术上讲,托管bean是由某些框架(在这种情况下是JSF)管理的支持bean的实例。类定义本身实际上是一个支持bean,而不是一个托管bean。所以FooBackingBean
在技术上更正确,但它仍然太长,Bean
部分有点痒。
无论如何,这是一个相当主观的问题,很难用一个正确的答案客观地回答。对我或其他人来说,你怎么做并不重要,只要你在整个项目中保持一致。