オブジェクト指向設計


コアJ2EEパターン - View Helperパターン

2008/07/15 23:48Update
TAGS: J2EE | パターン | View Helper

View Helper(ビュー・ヘルパー)パターンは コアJ2EEパターン の一つ、WEBアプリケーションにおいて、ビジネスロジックをビューから分離する手法を提供します。

本文は「問題」、「解決策」、「戦略」、「メリット」などからView Helperパターンについて説明します。

問題


デザイン不適切な動的なWebアプリケーションでは、プレゼンテーションロジック(画面表示)がビジネスロジックと混在します。例えば、JSPにたくさんのビジネスロジックコードを埋め込んだり、SERVLETのメソッドにHTMLコードとビジネスコードを混在したりします。

その結果、システムの柔軟性や再利用性、可保守性の欠如などの問題が考えられます。
<<図>>


※動的なWebアプリケーション:動的にデータベースからデータを取得して表示させる

解決策


A view contains formatting code, delegating its processing responsibilities to its helper classes, implemented as JavaBeans or custom tags. Helpers also store the view's intermediate data model and serve as business data adapters.
View Helperパターンを利用して、ビュー(JSPなど)からビジネスロジックを「ヘルパ(Helper)」と呼ばれるクラスに移動します。即ち、ビューにはプレゼンテーション用のコードしかを書かないようにします。ヘルパークラスの実装方法として、JavaBeanやカスタムタグなどがあります。また、役目として、ヘルパークラスは、ビューに利用されるデータモデルの収集、データを必要とされる形式に変換、ビジネスデータのアダプタとするなどの役割を担います。

<<図>>


ビュー(JSPなど)からビジネスロジックを排除します。
View
    ビュー。クライアントに表示情報を提供します。JSPやSERVLETなどが該当します。
Helper
    ビューのヘルパークラス。次のような役を担うことができます。
    ◇ ビューに利用されるデータを収集
    ◇ 収集されたデータを保持
    ◇ データを必要とされる形式に変換
    ◇ ビジネスデータのアダプタ

メリット


View Helperパターンを利用することで、次のメリットがあると考えられます。
◇ 役割の分離。
◇ システムのモジュール化。

戦略


View Helperパターンには多数の実装戦略があります。例えば、
JSP View Strategy
    JSPはビューとする戦略
Servlet View Strategy
    Servletはビューとする戦略
JavaBean Helper Strategy
    ヘルパークラスをJavaBeanとして実装する戦略
Custom Tag Helper Strategy
    ヘルパークラスをカスタムタグとして実装する戦略
Business Delegate as Helper Strategy
  Business Delegateはヘルパーの役を担う戦略
Transformer Helper Strategy
    ヘルパーをeXtensible Stylesheet Language Transformer(XSLT)という形で実装する戦略

その他参考資料


Core J2EE Pattern Catalog
Core J2EE Patterns - View Helper

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments