遅延読み込み
Virtual Proxy は実際のオブジェクトと同じインタフェースのオブジェクトである。初めてそのインタフェースのメソッドの一つが呼ばれるとき実際のオブジェクトを読み込み、委譲する。
遅延初期化(英語: lazy initialization)とは、オブジェクトや値そしてその他の初期化の負荷が高いものの生成を後から行う戦略のことである。
これは初期化完了を示すフラグを持ち、オブジェクトが呼び出されるごとにこのフラグを調べる。初期化が完了されていれば実際のオブジェクトを返す。初期化がまだ行われていない場合はその時点で初期化を行う。マルチスレッドのプログラムでは競合状態を防ぐために初期化完了のフラグは排他制御を行う必要がある。
手続き型言語でこのパターンを用いることは、状態共有に依存する他のプログラミングパターンと同様に、潜在的な危険性を持つ。