2009-04-30 3 views
0

私は、(オブジェクト指向プログラミング言語の)特別な種類のコレクションを用意しています。これは、さまざまなパーシスタンスサービスを提供しますが、他のコンポーネントによっても照会されます。私はリポジトリに保存する必要のあるオブジェクトを持っていますが、そのタイプは準備が整うまで(例えば、承認されているか、完了しているか、何を持っているかなど)、他のサービスからマスクします。私はこれを、不透明な 'コンテナ'クラスにターゲットオブジェクトをカプセル化することで解決します。別の不透明オブジェクト内のオブジェクトを一時的に隠すデザインパターンに標準名がありますか?

具体的な類推として、ファイルシステム内のディレクトリのようなものが考えられます。ファイルシステムには、フォトアルバムビューア用のあらゆる種類の写真が含まれています。まだ公開する準備ができていない写真がいくつかあるかもしれませんが、ファイルシステムで管理したい写真がいくつかあります。拡張子(.jpgの代わりに.jpg.temp)を変更するか、不透明なコンテナオブジェクトに隠す(つまり、ジッパーで保存する、またはgzipで圧縮する)ことによって、フォトアルバムから隠すことができます。コンテナの利点と、すべての.jpg.tempファイルを照会するための他のツールの能力

私はこのような状況を説明する標準的な用語を探しています。ファサードとプロキシは一般的な実装と一致しているようですが、意図は一致していません。

答えて

0

私はstate patternが私が知っている最も近いかもしれないと思います。

1

私はこれがプロキシだと思います。ファサードではないファサードは、既存のインターフェイスとは異なるインターフェイス(しばしば単純化されたインターフェイス)を提供することを目的としています。あなたのケースでは、インタフェースは同じで、少なくとも私はあなたの説明を理解しています(擬似コードの例は、それをより明確にするために有用かもしれません)。

1

イゴールは間違いなくプロキシです。

「保護プロキシ」と「仮想プロキシ」の間にあります。

準備ができていないオブジェクトのスタンドアロンを作成し、そのオブジェクトへのアクセスを制御しています。

真の仮想プロキシは、操作が要求されたときに基礎となるリソースを作成します。

保護プロキシは、基本となるオブジェクトにアクセスできるものを制御します。

あなたがやっていることは保護プロキシにもう少し近いと言えますが、保護プロキシは通常、認証/認証を意味します。

関連する問題