这些天我曾经和JSF一起工作,但是有一个“惯例”,如果我应该使用的话,我有疑问。在使用托管bean时,人们常常将其命名为XxxxxManagedBean
,其前缀可以是与您的业务相关的任何名称。
感谢您回答这个简单的疑问。
答案 0 :(得分:26)
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,每个bean通常与特定<h:form>
和/或视图绑定
FooBean
太模糊了。实际上很多类都可以标记为javabeans。 JSF托管bean,JPA实体,EJB,数据传输对象,值对象等。Bean
命名并不以任何方式指示类的真正责任。是的,我在博客或论坛/ Q&amp; A答案中的通用代码示例中使用了often public class Bean
或MyBean
,但在现实世界中,您应该避免这种情况。
FooManagedBean
IMO是一个糟糕的名字,它不仅太长而且丑陋,但从技术上讲,托管bean是支持bean的实例,由一些框架管理(JSF)在这种情况下)。 The class definition itself is really a backing bean, not a managed bean。所以FooBackingBean
在技术上更正确,但它仍然太长而且Bean
部分有点痒。
无论如何,这是一个非常主观的问题,用“一个正确的答案”很难客观地回答。只要你在整个项目中与它保持一致,对我或其他任何人来说,这对你来说真的没那么重要。