アプリケーションに共通の操作に commonBean を使用することは正しい/ベスト プラクティスですか? 私の場合、これはセッション Bean のログに記録された値をクリアするログアウト関数になります。
同僚の 1 人は、ビューごとに 1 つのコントローラー Bean のみを使用する必要があると言いましたが、同じメソッドを複数の Bean で複製するのはもったいないようです。
アプリケーションに共通の操作に commonBean を使用することは正しい/ベスト プラクティスですか? 私の場合、これはセッション Bean のログに記録された値をクリアするログアウト関数になります。
同僚の 1 人は、ビューごとに 1 つのコントローラー Bean のみを使用する必要があると言いましたが、同じメソッドを複数の Bean で複製するのはもったいないようです。
あなたの同僚は、View と Controller の分離を、純粋な MVC パターンで大まかに定義された原則として言及しています。JSF アプリケーションの管理対象 Bean は、コントローラーの役割に適していますが、これは、まさにあなたが述べた理由から、厳格で迅速なルールと見なされるべきではありません。
エンタープライズ アプリケーション アーキテクチャのパターンから Martin Fowler を引用します。
前述したように、MVC の価値は 2 つの分離にあります。これらのうち、プレゼンテーションとモデルの分離は、ソフトウェアで最も重要な設計原則の 1 つです。モデルが実際の動作を持たない非常に単純なシステムでは、それに従うべきではありません。非視覚的なロジックを取得したらすぐに、分離を適用する必要があります。残念ながら、多くの UI フレームワークはそれを難しくしており、そうでないフレームワークは分離せずに教えられることがよくあります。
ビューとコントローラーの分離はそれほど重要ではないため、本当に役立つ場合にのみ実行することをお勧めします。リッチ クライアント システムの場合、コントローラが分離されている Web フロント エンドでは一般的ですが、これはほとんどありません。ここにある Web デザインのパターンのほとんどは、その原則に基づいています。
基本的に Fowler は、ビューをコントローラーにバインドすることは、モデルをビューにバインドすることほど重要ではないと述べています。