20

最近、私は JSF を使用していましたが、使用すべきかどうか疑問に思っている「規則」があります。マネージド Bean を扱う際XxxxxManagedBean、ビジネスに関連する任意の名前を接頭辞として付けていました。

そんな仕事してたの?特に、検索は簡単にできますが、あまり好きではありません。別の規則を使用していますか?

この単純な疑問に答えてくれてありがとう。

4

1 に答える 1

27

JSF 自体によって指定された厳密な規則はありません。次の規則を見てきました。

  • FooBean
  • FooBacking
  • FooManager
  • FooController
  • FooManagedBean

または、 、またはなどFooの特定のパッケージに配置されるだけでも.com.example.controllercom.example.backingcom.example.view

私自身はFooManager、アプリケーションおよびセッション スコープ Bean (例: DataManagerUserManagerLocaleManagerなど)に使用する傾向がありFoo、現在のプロジェクトで義務付けられているように、リクエストおよびビュー スコープ Bean にのみFooBacking(Loginまたはなど) を使用する傾向があります。または表示します。LoginBacking<h:form>

FooBean曖昧すぎる。本当に多くのクラスが javabeans としてマークできます。JSF マネージド Bean、JPA エンティティ、EJB、データ転送オブジェクト、値オブジェクトなど。Bean命名は、クラスの実際の責任を示すものではありません。確かに、ブログやフォーラム/Q&A の回答の一般的なコード例で頻繁に使用していますが、実際にはそれを避ける必要がありますpublic class BeanMyBean

FooManagedBeanIMO は不適切な名前です。長すぎて醜いだけでなく、技術的には、マネージド Bean は何らかのフレームワーク (この場合は JSF) によって管理されるバッキング Beanのインスタンスです。クラス定義自体は、マネージド Bean ではなく、実際にはバッキング Beanです。技術的にはa のFooBackingBean方が正確ですが、それでも長すぎて、そのBean部分が少しかゆくなります。

とにかく、これはかなり主観的な質問であり、「唯一無二の正解」で客観的に答えることはほとんどできません。プロジェクト全体を通して一貫性が保たれている限り、あなたがそれをどう解釈しようと、私や他の誰かにとってはそれほど重要ではありません。

于 2011-04-18T02:09:10.930 に答える