JSF管理的bean命名约定

JSF管理的bean命名约定,jsf,naming-conventions,managed-bean,Jsf,Naming Conventions,Managed Bean,这些天我曾经使用JSF,但是有一个“约定”我怀疑我是否应该使用。在使用托管bean时,人们通常将其命名为XxxxxManagedBean,其中前缀可以是与您的业务相关的任何名称 你这样工作过吗?特别是,我不太喜欢它,尽管它使搜索变得容易。你在使用另一种约定吗 感谢您回答这个简单的疑问。JSF本身没有规定严格的约定。我看到了以下惯例: FooBean FooBacking FooManager FooController FooManagedBean 甚至只需Foo,然后将其放入特定的包中,如

这些天我曾经使用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,它们通常都绑定到特定的
和/或视图

FooBean
太模糊了。实际上,很多类都可以标记为javabeans。JSF管理Bean、JPA实体、ejb、数据传输对象、值对象等。
Bean
命名并不以任何方式表明类的真正责任。诚然,我在博客或论坛/Q&A答案中的通用代码示例中使用了
公共类Bean
MyBean
,但在现实世界中,您应该避免这样做

FooManagedBean
是一个糟糕的名字,它不仅太长而且难看,而且从技术上讲,托管bean是由某个框架(在本例中是JSF)管理的支持bean的实例。因此
FooBackingBean
在技术上更为正确,但它仍然太长,而且
Bean
部分有点痒


无论如何,这是一个相当主观的问题,很难用一个正确的答案客观地回答。对我或其他任何人来说,你对它的理解都不重要,只要你在整个项目中都与它保持一致。

我见过有人使用FooMB作为FoomManagedBean的快捷方式。根据经验,尝试使用非技术名称。从上下文中很明显,您的bean是一个托管bean,所以不要称它为
xxxManagedBean
。或者更确切地说:不要专注于名字的第二部分。重要的部分是
xxx
SomeFormBean
PersonFormBean
更糟糕,后者比
CreditUserBean
更糟糕。你明白了:后一个名字告诉你豆子是什么。从长远来看,这对你很有帮助。我们能像primefaces那样命名FooView吗?还是我错了?