プロキシモードでは、オブジェクトのモード構造です。特定のオブジェクトへのプロキシモードは、プロキシオブジェクト、元のオブジェクトへの参照によって制御プロキシオブジェクトを提供します。
構造プロキシモード
いわゆるプロキシがアクションを取るために別の個人または組織に代わって人や機関です。いくつかのケースでは、顧客が望んでいないか、または直接オブジェクトを参照することができない、とオブジェクトエージェントは、クライアントとターゲットオーディエンスとの間の仲介として機能します。
プロキシモードのクラス図は次のとおりです。
プロキシモードの役割で:
● 抽象オブジェクトの役割:それは、ターゲット・オブジェクトとプロキシオブジェクトに共通のインターフェースを宣言し、この方法は、プロキシオブジェクトがターゲット・オブジェクト内のどこにでも使用することができます使用することができます。
● ターゲットオブジェクトの役割:プロキシオブジェクトが表す対象オブジェクトの定義。
● プロキシオブジェクトの役割:ターゲット・オブジェクト参照を含むオブジェクト内のエージェント、ターゲット・オブジェクトがいつでも動作させることができるように、プロキシオブジェクトがターゲットオブジェクトに対して同じインタフェースを提供し、ターゲットオブジェクトはいつでもように置換されていてもよいです。プロキシオブジェクトは、通常は単にターゲット・オブジェクトへの呼び出しを渡すのではなく、アクションを実行し、前またはターゲットオブジェクトの後にクライアントの呼び出しに渡されます。
ソース
抽象オブジェクトの役割
パブリック抽象クラスAbstractObject { //操作 パブリック抽象無効操作(); }
ターゲットオブジェクトの役割
AbstractObject延びRealObject {クラスパブリック @Override 公共ボイド動作(){ //何らかの動作 するSystem.out.println( "いくつかの操作"); } }
プロキシオブジェクトの役割
ProxyObjectはAbstractObject {クラスのパブリック延びて RealObject realObject新しい新RealObject =(); @Override ます。public void操作は(){ ターゲットオブジェクトを呼び出す前に、関連する操作を//行うことができます ( "前")のSystem.out.printlnを、 realObject.operation(); / /視聴者は、通話関連動作の後に行うことができる のSystem.out.println(「後」); } }
クライアント
パブリッククラスクライアント{ パブリック静的無効メイン(文字列[] args){ // TODO自動生成方法スタブ AbstractObject OBJ =新しいProxyObject()。 obj.operation(); } }
プロキシオブジェクトは、上記の例から分かるように、クライアントのオーディエンスに割り当てられているが呼び出されます、あなたは、メソッドの前に、特定の操作を行うことができ、対象物とした後に呼び出されます。