JSF管理bean命名约定

时间:2011-04-18 00:07:04

标签: jsf naming-conventions managed-bean

这些天我曾经和JSF一起工作,但是有一个“惯例”,如果我应该使用的话,我有疑问。在使用托管bean时,人们常常将其命名为XxxxxManagedBean,其前缀可以是与您的业务相关的任何名称。

你有这样的工作吗?特别是,尽管让搜索变得容易,但我并不喜欢那么多。你在使用另一种惯例吗?

感谢您回答这个简单的疑问。

1 个答案:

答案 0 :(得分:26)

JSF本身没有指定严格的约定。我见过以下约定:

  • FooBean
  • FooBacking
  • FooManager
  • FooController
  • FooManagedBean

甚至只是Foo,然后将其放置在特定的包中,例如com.example.controllercom.example.backing甚至com.example.view等。

我自己倾向于将FooManager用于应用程序和会话范围的bean(例如DataManagerUserManagerLocaleManager等)和Foo,或者根据我当前项目FooBacking(例如LoginLoginBacking)的要求,请求和查看范围内的bean,每个bean通常与特定<h:form>和/或视图绑定

FooBean太模糊了。实际上很多类都可以标记为javabeans。 JSF托管bean,JPA实体,EJB,数据传输对象,值对象等。Bean命名并不以任何方式指示类的真正责任。是的,我在博客或论坛/ Q&amp; A答案中的通用代码示例中使用了often public class BeanMyBean,但在现实世界中,您应该避免这种情况。

FooManagedBean IMO是一个糟糕的名字,它不仅太长而且丑陋,但从技术上讲,托管bean是支持bean的实例,由一些框架管理(JSF)在这种情况下)。 The class definition itself is really a backing bean, not a managed bean。所以FooBackingBean在技术上更正确,但它仍然太长而且Bean部分有点痒。

无论如何,这是一个非常主观的问题,用“一个正确的答案”很难客观地回答。只要你在整个项目中与它保持一致,对我或其他任何人来说,这对你来说真的没那么重要。