はじめに1.6 – 動的プロキシモード(概念)/ JDKプロキシ動的プロキシ

1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...

動的プロキシモード(パン話し):

動的プロキシモードとは何ですか?

動的プロキシモードのエージェントクラスは、プログラマによって手動ではなく、ツールクラスまたはファクトリクラスによって動的に生成されます。 プロキシ関係は、プログラムの実行中に確立されます。

2.動的プロキシモードを使用する場合の留意事項:

1)動的プロキシモードでプロキシクラスを定義する必要はありません。

2)ターゲットオブジェクトはクライアントクラスで作成されます。 原因:プロキシクラスの生成時にツールクラスまたはファクトリクラスにターゲットオブジェクトが必要で、ツールクラスまたはファクトリクラスがクライアントクラスによって呼び出されるため、クライアントクラスはツールまたはファクトリクラスを呼び出してプロキシクラスを生成し、プロキシオブジェクトを作成します。

3)ターゲットオブジェクトはクライアントクラスで作成されているため、このプロキシモードではターゲットオブジェクトの保護と隠蔽の目的を達成できません。 動的プロキシモードを使用する目的は、ターゲットクラスを変更せずにターゲットメソッドの機能を拡張することです。

4)プロキシクラスは、ツールクラスまたはファクトリクラスによって動的に生成されるため、生成プロセスは一般的であり、任意のターゲットクラスに対してプロキシクラスおよびプロキシオブジェクトを生成することができる。 異なるターゲットクラスは、強化要件が異なり、パーソナライズされています。 このパーソナライゼーション機能が強化され、プロキシクラスは別のクラスE実装に委譲されます。 このクラスEはデリゲートクラスと呼ばれます。

5)スタティックプロキシモードとダイナミックプロキシモードを使用する目的は異なります。

a。静的プロキシモードを使用する目的は、対象オブジェクトを保護および非表示にすることです。

b。動的プロキシモードを使用する目的は、ターゲットクラスを変更せずにターゲットオブジェクトを拡張することです。

JDKのプロキシ動的プロキシ

(1)使用要件:ターゲットクラスはJDKプロキシダイナミックプロキシを使用してビジネスインタフェースを実装する必要があり、ターゲットクラスはインタフェースを実装するクラスでなければなりません。 (つまり、ターゲットメソッドはインターフェイス内のメソッドです)

(2)動的プロキシクラスの名前:

名前は3つの部分で構成されています:$ + Proxy + number(数字は現在のJDKのプロキシによって生成されたプロキシクラスのインデックスを表し、インデックスは0からカウントされます)

ダイナミックプロキシモードのタイミングダイアグラムプロセス(例としてJDKプロキシダイナミックプロキシを使用)

JDKプロキシ動的プロキシメソッドコールバックプロセス分析

デリゲートクラスはコールバックのSomeクラスに相当し、invoke()メソッドはコールバックメソッドと同等です。

JDKプロキシクラスは、コールバックの第3クラス(転送の役割<コールバックメソッドの変形フォーム>)に相当します。

動的プロキシクラスは、コールバックのOtherクラスと同等です。


1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...
      この投稿は審査処理中  | 元のサイトへ