Java 3エージェント-静的、動的エージェント、Cglib

参考記事:

1. https://www.zhihu.com/question/20794107/answer/658139129(静的および動的エージェントの詳細説明)

2. Cglibについて:https ://zhuanlan.zhihu.com/p/70098824

 


1. エージェンシー全体的な目的:ターゲットオブジェクトの機能を拡張すること。自身の機能を変更しません。

2. 共通プロキシモード:静的、動的、Cglibプロキシ。最初の2つは、インターフェイスを実装するターゲットオブジェクトに適しています。後者は、インターフェイスを実装しないターゲットオブジェクトに適しています。

3. インターフェイスを持つターゲットオブジェクトプロキシのアイデア:コピー+拡張のアイデアに基づいて、プロキシクラスを作成します。元のベースでより適切に拡張するために、プロキシクラスとターゲットクラスは同じインターフェイスを実現できます(コピーと同様に、展開);

4. さまざまな「コピー」メソッドに基づいて、静的エージェントと動的エージェントに分けられます。以下は主に理解と記憶に使用され、特定のコードは記事を参照します。

下見

  • 静的は次のとおりです。

下見

  • ダイナミクスは次のとおりです。

プロキシクラスの生成をスキップして、プロキシオブジェクトを直接生成します。

 

プロキシオブジェクトとターゲットオブジェクト-InvocationHandlerオブジェクト間のブリッジについて:

 

 

 

おすすめ

転載: blog.csdn.net/Longtermevolution/article/details/108336244