Proxy についてDoFactoryとWikipedia、そしてもちろんスタック オーバーフローについて読んでいました。を除いて、すべてが明確Real Subject
です。DoFactory では、Proxy は次のように定義されます。
別のオブジェクトへのアクセスを制御するためのサロゲートまたはプレースホルダーを提供します。(太字を追加)
その目的が へのアクセスを制御することである場合Real Subject
、なぜReal Subject
は から隠されませんClient
か?
プロキシの UML ダイアグラムは次のとおりです。
コード例でReal Subject
は、次のように定義されています。
class RealSubject : Subject
{
...
}
クライアントはのインスタンスを作成し、それを介してProxy
「アクセスを制御」します。Real Subject
Proxy proxy = new Proxy();
proxy.Request();
しかし、(私が見たいくつかの例から) Client がReal Subject
そのメソッドをインスタンス化してアクセスするのを止めるものは何もありません。それはなぜですか?