私はこれまでプロキシ パターンを知っていましたが、最近この記事を読んで、仮想プロキシは基本的にメモリ集約型コンポーネントのオブジェクト作成プロセスを延期するために使用され、それによってアプリケーションを高速化すると述べています。
しかし、その記事を読んだ後では、プロキシ パターンと仮想プロキシ パターンは同じもののように見えます。私は正しいですか、それとも私はこれを間違って理解しましたか?
私はこれまでプロキシ パターンを知っていましたが、最近この記事を読んで、仮想プロキシは基本的にメモリ集約型コンポーネントのオブジェクト作成プロセスを延期するために使用され、それによってアプリケーションを高速化すると述べています。
しかし、その記事を読んだ後では、プロキシ パターンと仮想プロキシ パターンは同じもののように見えます。私は正しいですか、それとも私はこれを間違って理解しましたか?
プロキシ パターンにはさまざまな種類があります。仮想プロキシはその 1 つです。その他 (GOF から) は Protection Proxy、Remote Proxy、Smart Reference です。GOF より:
リモート プロキシは、異なるアドレス空間にあるオブジェクトのローカル代表を提供します。
仮想プロキシは、高価なオブジェクトをオンデマンドで作成します。
保護プロキシは、元のオブジェクトへのアクセスを制御します。プロテクション プロキシは、オブジェクトに異なるアクセス権が必要な場合に役立ちます。
スマート参照は、オブジェクトがアクセスされたときに追加のアクションを実行するベア ポインターの代わりとなるものです。
GoF Design Patterns の本では、いくつかの種類のプロキシについて言及されており、仮想プロキシ (オンデマンドで高価なオブジェクトを作成する) はその 1 つです。
他のタイプのプロキシには、リモート プロキシ (異なるアドレス空間にあるオブジェクトへのローカル インターフェイスを提供する)、保護プロキシ (アクセス権を処理する)、およびスマート リファレンス (オブジェクトがアクセスされたときに追加のアクションを実行する) があります。
したがって、仮想プロキシは間違いなくプロキシですが、すべてのプロキシが仮想であるとは限りません。