オブジェクト指向設計


コアJ2EEパターン - Composite View(複合ビュー)パターン

2008/08/05 00:04Update
TAGS: J2EEパターン | Composite View | 複合ビュー

Composite View(複合ビュー)パターンは コアJ2EEパターン の一つで、複雑な構成を持つ画面に対して、複数の断片(サブビュー)に分割し、それぞれの断片を原始的なビュー部品として、動的に一つのページに構成する手法を提供します。

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

問題


多くのWEBアプリケーションでは、すべてのページ対しても例えばヘッダ(ナビゲーション、メニューなど)、フッタなどの変わらない部分を持つことが一般的です。

デザイン不適切なアプリケーションでは、こうした「変わらない部分」を各WEBページに分散してしまい、その結果:
◇ 重複コードの発生。全く同じである「変わらない部分」のコードを各ページに重複して記述しなければなりません。
◇ 保守・拡張しにくい。例えば一つを修正しても、すべてのページへの修正を加えなければなりません。


解決策


Use composite views that are composed of multiple atomic subviews. Each component of the template may be included dynamically into the whole and the layout of the page may be managed independently of the content.
複数の原子的なサブビューから構成された複合ビューを使用します。各サブビューは、一つのページに動的に含まれ、また、ページレイアウトはコンテンツと別に管理します。

<<図1>>

例えば、ページはヘッダ(Header)、左(Left)、メインコンテンツ(Contents)、右(Right)、フッタ(Footer)に構成される場合、各部分はサブビューとして動的に一つのページに構成することができます。

<<構造図>>

◇ 複合ビュー(CompositeView)、及びサブビュー(HeaderView、FooterViewなど)が同一親クラスを共有することができます。
◇ 複合ビュー(CompositeView)は各サブビューによって構成されます。
◇ 実際の実装では、ViewManager(ビューマネージャ)を利用して各ビューを管理すると便利です。ちなみに、JSPの<jsp:include>タグがビューマネージャに該当します。

戦略



JSP View Strategy
    JSPはビューとする戦略
Servlet View Strategy
    Servletはビューとする戦略
JavaBean View Management Strategy
    JavaBeanを利用してビューを管理する戦略
Standard Tag View Management Strategy
    標準タグ(<%@ include %>と<jsp:include>タグ)を利用してビューを管理する戦略
Custom Tag View Management Strategy
    カスタムタグを利用してビューを管理する戦略。例えば、JSFの<f:subview />タグ、Tilesフレームワークのタグなど
Transformer View Management Strategy
    XSL Transformerを利用してビュー管理する戦略
など

その他参考資料


Core J2EE Pattern Catalog
Core J2EE Patterns - View Helper

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

Sponsored Link


Comments