プロキシモード(6)

いくつかのケースでは、顧客が別のオブジェクトに直接アクセスしたくないことはできないか、そして、あなたがタスクを完了するのに役立つ仲介を見つける必要があり、これは、仲介プロキシオブジェクトです。例えば、必ずしも購入する列車の切符を買うために駅まで行っていない、あなたが購入する12306ウェブサイトやチケット出口を通って行くことができます。別の例は、乳母を探して、ガールフレンドを見つける仕事を見つけるので、完了するために仲介を見つけることができることです。

まず、定義

いくつかの理由は、オブジェクトへのアクセスを制御するプロキシを提供することを目的とする必要があります。この場合、オブジェクトは、適合しない、またはアクセスとターゲットオブジェクトとの間の仲介者として、ターゲットオブジェクトにプロキシオブジェクトを直接参照にアクセスすることはできません。

第二に、構造及び実現のモード

1.構造モデル

 次のようにプロキシモードの主な役割は以下のとおりです。

  • 抽象トピック(主題)カテゴリ:実際のビジネスの方法やテーマインタフェースまたは抽象クラス宣言によって達成プロキシオブジェクト。
  • カテゴリレアルテーマ(レアル件名):抽象は、特定のビジネスのトピックを達成するため、実際のオブジェクトは、プロキシオブジェクトによって表され、オブジェクトは、究極の基準となります。
  • プロキシ(代理)クラス:実際のテーマと同じインタフェースを提供し、内部が実際の被写体への参照が含まれ、それは、アクセス制御、または実際のテーマの機能を拡張することができます。

 

実現の2モード

 

 

 

シーン三つのアプリケーション、モード

  • リモートエージェントは、このアプローチは、ターゲットオブジェクトがクライアントのアクセスを容易にするため、異なるアドレス空間に存在するという事実を隠すために通常です。たとえば、ユーザーがいくつかのネットワークディスクスペースを適用すると、ユーザーのファイルシステムの仮想ハードディスクを作成し、ユーザーは仮想ハードディスク、ネットワークディスクスペースにアクセス実際にアクセスします。
  • あなたが聴衆多くのオーバーヘッドを作成したいときにアラート、このアプローチは、一般的に使用されています。例えば、大きな画像をダウンロードして、あなたは、実際のオブジェクトに小さな割合を置き換えるユーザーに遅いサーバー感を解消するために、仮想エージェントを開始することができ、より複雑な計算に時間のいくつかの短い期間のために長い時間がかかり、完了することはできません。
  • Securityエージェントは、通常、顧客のさまざまな種類を制御するために使用されるこのアプローチは、実際のオブジェクトにアクセスします。
  • インテリジェントガイダンスは、主にターゲットオブジェクトを呼び出すときに、プロキシがいくつかの追加処理機能を付ける使用されています。オブジェクトが参照されていない場合、それは自動的に解除することができるように、実オブジェクト計算、例えば、参照関数の数を増加させました。
  • 遅延ロードは、システム性能を向上させるためにを参照して、ターゲットのロードを遅延。例えば、Hibernateの  存在及び特性関連する遅延ローディング遅延ローディングテーブル上。

4つのモードの長所と短所

プロキシモードの主な利点は以下のとおりです。

  • 仲介の役割を果たし、クライアントと対象物とターゲットオブジェクトの役割を保護するためにプロキシモード。
  • プロキシオブジェクトは、ターゲットオブジェクトの機能を拡張することができます。
  • 対象物を分離することができるクライアント・プロキシ・モード、結合度をある程度低減されます。

主な欠点は以下のとおりです。

  • クライアントとターゲットオブジェクトが増加するプロキシオブジェクトである間、スローリクエスト処理の原因となります。
  • システムの複雑さが増大し、

拡張V.プロキシモード

前述したプロキシ・モードでは、プロキシクラスは、実際の被写体への参照が含まれ、このアプローチの2つの欠点があります。

  • エージェントをテーマにした対応の本当の主題、テーマは本物の薬を高めるために増加しなければなりません。
  • デザインエージェンシー本当のテーマは、すでに存在している必要があります前に、柔軟性に劣ります。動的プロキシモードのような、上記の問題を解決することができる  AOP、図4に示す構造。

 

おすすめ

転載: www.cnblogs.com/myitnews/p/11428821.html