今日は、久々に試験対策。
J2EEパターンについて
① Model-View-Controller
Webアプリケーションの構築において基本となるアーキテクチャ。
(1)Model
画面に表示したいオブジェクト
ServletやBeanが該当する。
(2)View
その情報を管理するオブジェクト
HTMLやJSPが該当する。
(3)Contoller
ユーザからのリクエストに対してModelやViewを適切に制御するオブジェクト
Servletが該当する。
クライアントからのリクエストはサーブレットが受け付け、適当なModelを生成する。
その後、Viewに制御を移す。
Viewは、画面に表示するために必要となるデータをModelから取得して、
クライアントに返す。
画面に表示したいオブジェクト
ServletやBeanが該当する。
(2)View
その情報を管理するオブジェクト
HTMLやJSPが該当する。
(3)Contoller
ユーザからのリクエストに対してModelやViewを適切に制御するオブジェクト
Servletが該当する。
クライアントからのリクエストはサーブレットが受け付け、適当なModelを生成する。
その後、Viewに制御を移す。
Viewは、画面に表示するために必要となるデータをModelから取得して、
クライアントに返す。
クライアントからのリクエストを局所化することで、ロジックの実行・Viewに対する振り分けの集中制御を行う。
リクエスト/レスポンスに適用する処理を、必要に応じて組み入れたりはずしたるする。
複数のターゲットに共通で必要となるフィルタリング処理を一元的に管理することができる。
管理されたフィルタリング処理はリクエストとレスポンスに対して透過的に適用することができ、それらの処理はコンポーネントとして独立させることができる。
管理されたフィルタリング処理はリクエストとレスポンスに対して透過的に適用することができ、それらの処理はコンポーネントとして独立させることができる。
クライアントアクセスの窓口をサーバー側に用意する。
サーバー側のサービス層で入り口となるオブジェクトを準備し、その中に一連のコンポーネントへの呼び出して続きをラッピングし、クライアントからのアクセスに対しては、単一のインタフェースを提供する。
クライアント側は内部で実行されている処理について知っている必要はない。
クライアント側は内部で実行されている処理について知っている必要はない。
⑤ Business Delegate
クライアントがサービスを利用する際の手続きを代行する。
クライアントに対して、サービス層のオブジェクトが提供するインタフェースと同じインタフェースを提供することで、クライアントはサービス層のオブジェクトを直接利用しているように利用することができる。
クライアント層が必要とするサービスの検索を代行する。
アプリケーションで必要な全てのサービス検索処理を一元的に管理することで、クライアント層は複雑なサービス検索処理を行う必要がない。
[組み合わせ例]
エンティティオブジェクトに対するリモートメソッドの呼び出し回数を減らすことで、パフォーマンスを向上させる。