ディレクトリ
使用
プロキシモードがある
構造モデル
。
構造
図 - 図のプロキシモード構造。
件名 :RealSubject、あなたはどこでもRealSubjectで使用できるように、プロキシ、プロキシのパブリックインターフェイスを定義します。
抽象クラス件名{
パブリック抽象無効要求();
}
パブリック抽象無効要求();
}
RealSubjectは :プロキシによって表される実際のエンティティを定義します。
クラスRealSubject件名を拡張{
@Override
公共ボイド要求(){
System.out.printlnは( "真实的请求")。
}
}
@Override
公共ボイド要求(){
System.out.printlnは( "真实的请求")。
}
}
プロキシ :エンティティにアクセスすることができるような薬剤への参照を格納し、被写体とのインターフェイスに同じインターフェースを提供するので、プロキシエンティティを置換するために使用することができます。
クラスプロキシは、件名{拡張
プライベートRealSubject実数を、
@Override
公共ボイド要求(){
(ヌル==実){もし
リアル=新しいRealSubject()。
}
real.Request()。
}
}
プライベートRealSubject実数を、
@Override
公共ボイド要求(){
(ヌル==実){もし
リアル=新しいRealSubject()。
}
real.Request()。
}
}
シナリオ
図1に示すように、リモートエージェント
異なるアドレス空間内のローカル代表を提供するリモートオブジェクトとして。
2.アラート
必要に応じて大規模なオブジェクトを作成するコスト。これを通して、それは長い時間がかかり、実際のオブジェクトのインスタンスを格納します。
3、セキュリティエージェント
実際のオブジェクトへのアクセスを制御するために使用されます。
4、インテリジェントな指導
あなたは本当のオブジェクトを呼び出すとき、プロキシはいくつかの他のものを処理することを意味します。
点数
Proxyパターンは、オブジェクトにアクセスするための間接的なレベルを紹介します。
リモートプロキシは、異なるアドレス空間内のオブジェクトの詳細を隠すことができます。
仮想プロキシは、必要に応じてオブジェクトを作成するコストを最適化することができます。
セキュリティと諜報機関のガイドラインは、オブジェクトその他の事項への同時アクセスを許可します。