
you are here
457
11
章
Proxy
パターン
仮想プロキシに備える
これまでに
Proxy
パターンの定義と、その具体例であるリモートプロキシについて
説明しました。次に、異なる種類のプロキシである仮想プロキシを説明します。
Proxy
パターンにはさまざまな形式がありますが、いずれも大まかには一般的なプロキシ設
計を踏襲しています。なぜそれほど多くの形式があるのでしょうか?
理由は
Proxy
パ
ターンはさまざまな用途に適用できるからです。仮想プロキシを調べ、リモートプロ
キシと比べてみましょう。
R
e
a
l
S
u
b
j
e
c
t
ク
ラ
イ
ア
ン
ト
プ
ロ
キ
シ
プ
ロ
キ
シ
リモートプロキシ
request( )request( )
リモートプロキシでは、プロキシは別の
JVM
にあるオブジェクトのローカルの
代理としての役割を果たします。プロキ
シのメソッドを呼び出すと、その呼び
出しをネットワーク経由で転送してリ
モートで呼び出し、結果をプロキシに返
してからクライアントに戻します。
R
e
a
l
S
u
b
j
e
c
t
ク
ラ
イ
ア
ン
ト
仮想プロキシ
仮想プロキシは、作成にコストがかかる
ことがあるオブジェクトの代理として機
能します。多くの場合、仮想プロキシは
必要になるまでオブジェクトの作成を
先送りします。また、仮想プロキシ
はオブジェクトの作成前と作成中の
代理としての役割も果たします。その後、
プロキシはリクエストを
RealSubject
に直接委
譲します。
この図はいまではよくわかって
います。
大きな「作成にコストがかかる」オブ
ジェクト ...