View Helper パターン

このセクションでは、 「パターンテンプレート」 で定義されている形式の View Helper デザインパターンについて説明します。

問題

Web アプリケーション開発の一般的な問題は、ビューにおいて、ビジネスロジックとプレゼンテーションロジックが混在していることです。JSP やサーブレットの JSP スクリプトレットまたはメソッドにコードを詰め込みすぎると、次の点で問題が発生します。

次の図は、1 つのコンポーネントにビジネスロジックとプレゼンテーションロジックを組み合わせたところを示しています。

解決策

問題の解決策は、ビューからすべてのビジネスロジックを排除し、これを、ヘルパークラスとしてモデルロジック層またはビジネスロジック層に移動することです。ビューには、モデルの出力形式を設定するために使用するコードだけを含めてください。

ヘルパークラスの役目は次のとおりです。

次の図に、プレゼンテーションロジックとビジネスロジックを分離したところを示します。

これは、クライアントが、プレゼンテーションロジックが含まれているページに対するリクエストを行っているイメージを示しています。さらに、プレゼンテーションページがリクエストをヘルパークラスに渡します。

戦略

View Helper パターンを実装する場合は、ビューを JSP として作成し、すべてのスクリプトレットを排除する方法をお勧めします。ヘルパークラスはカスタムタグまたは JavaBeans として実装できます。