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