JSF管理bean命名约定

axc*_*dnt 19 jsf naming-conventions managed-bean

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

你有这样的工作吗?特别是,尽管让搜索变得容易,但我并不喜欢那么多.你在使用其他约定吗?

谢谢你回答这个简单的疑问.

Bal*_*usC 26

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

  • FooBean
  • FooBacking
  • FooManager
  • FooController
  • FooManagedBean

或者甚至将Foo其放置在特定的包装中,例如com.example.controller,com.example.backing甚至com.example.view等等.

我自己倾向于使用FooManager应用程序和会话范围的Bean(如DataManager,UserManager,LocaleManager,等),只是Foo,或授权由我当前的项目,FooBacking(例如,LoginLoginBacking为请求),并查看范围的Bean,这是每一个通常依赖于特定的<h:form>和/或查看.

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

FooManagedBeanIMO是一个糟糕的名字,它不仅太长而且丑陋,但从技术上讲,托管bean是一个由一些框架(在这种情况下为JSF)管理的支持bean 的实例.类定义本身实际上是一个支持bean,而不是托管bean.所以a FooBackingBean在技​​术上更正确,但它仍然太长而且Bean部分有点痒.

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