20

这些天我曾经使用 JSF,但是有一个“约定”我怀疑我是否应该使用。在使用托管 bean 时,人们习惯将其命名为XxxxxManagedBean前缀可以是与您的业务相关的任何名称。

你有过这样的工作吗?特别是,尽管使搜索变得容易,但我不太喜欢。您是否使用其他约定?

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

4

1 回答 1

27

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

  • FooBean
  • FooBacking
  • FooManager
  • FooController
  • FooManagedBean

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

我自己倾向于使用FooManager应用程序和会话范围的 bean(例如DataManager,UserManagerLocaleManager)和 just Foo,或者按照我当前项目的要求FooBacking(例如LoginLoginBacking)用于请求和查看范围的 bean,它们通常都与特定的<h:form>和/或查看。

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

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

无论如何,这是一个非常主观的问题,很难用 The One And Correct 答案客观地回答。只要你在整个项目中保持一致,对我或其他任何人来说,你对它的看法并不重要。

于 2011-04-18T02:09:10.930 回答