2011-04-18 15 views
15

最近、私は以前はJSFを使用していましたが、使用するべきかどうか疑問に思っています。マネージドBeanを使用している間、人々はそれをXxxxxManagedBeanという名前で使用しました。接頭辞はビジネスに関連する任意の名前にすることができます。JSFマネージドBeanの命名規則

あなたはそのように働いたことがありますか?特に、検索を簡単にするにもかかわらず、私はそんなに好きではありません。別の大会を使用していますか?

この簡単な疑問にお答えいただきありがとうございます。

答えて

23

JSF自体には厳密な規約はありません。

  • FooBean
  • FooBacking
  • FooManager
  • FooController
  • FooManagedBean

あるいは単にFoo、特定のパッケージ内に配置されるように:私は、次の表記法を見てきましたcom.example.controllercom.example.backing、さらにはcom.example.viewなど

私自身は、アプリケーションおよびセッションスコープのBean(例:)を使用する傾向があります。 DataManagerUserManagerLocaleManager、など)だけFoo、または私の現在のプロジェクトで義務付けられて、リクエストとビューのためのFooBacking(例えばLoginまたはLoginBacking)がそれぞれ通常、特定の<h:form>および/またはビューに関連付けられている豆を、スコープ。

FooBeanはあまりにも曖昧です。本当に多くのクラスをjavabeansとしてマークすることができます。 JSFマネージドBean、JPAエンティティ、EJB、データ転送オブジェクト、値オブジェクトなど。Beanという名前は、どのような意味でもクラスの本当の責任を示すものではありません。本当に、私はoftenpublic class BeanまたはMyBeanをブログやフォーラム/ Q & Aで一般的なコード例で使用していますが、現実世界では避けるべきです。

FooManagedBeanは、それだけではなく、長すぎると醜いですが、技術的には、管理対象Beanは、いくつかのフレームワーク(この場合はJSF)によって管理されているバッキングBeanのインスタンスで、IMOが悪い名前です。 The class definition itself is really a backing bean, not a managed bean。したがって、FooBackingBeanは技術的にはより正確ですが、それでも時間がかかり、Beanの部分が少しかゆいです。

これはかなり主観的な質問で、One And Correctの回答で客観的にはほとんど答えられません。あなたがプロジェクト全体で一貫している限り、自分や他の誰かがあなたが作ったことはそれほど重要ではありません。

+0

私は、FooMBをFooManagedBeanのショートカットとして使用するのを見てきました。 – Nabeel

+0

経験則として、技術的でない名前を使用してみてください。 BeanがマネージドBeanであることはコンテキストから明らかです。したがって、それを 'xxxManagedBean'と呼んではいけません。または、むしろ:名前の第2部分に集中しないでください。重要な部分は 'xxx'です。 'SomeFormBean'は' PersonFormBean'より悪い名前で、 'CreditUserBean'より悪いです。あなたはアイデアを得ます。後者の名前は、Beanが何であるかについて何かを教えてくれます。それが長期的にあなたを助けるものです。 –

+0

私たちはFooViewの名前をprimefacesとして指定できますか?または私は間違っていますか? – Joe