代理
強化されたオブジェクト関数
デザインパターン:固定一般的な問題を解決する方法はいくつか
-
装飾的なパターン
-
プロキシモード
-
コンセプト
- 実際のオブジェクト:オブジェクトは、プロキシされています
- プロキシオブジェクト
- プロキシモード:プロキシプロキシオブジェクト実際のオブジェクト、実際のオブジェクト機能をオフに向上させることを目的
-
実装
- 静的エージェント:クラスファイルの記述プロキシモード
- ダイナミックプロキシプロキシクラスがメモリ内に形成されています。
- プロキシオブジェクトと実際のオブジェクトは、同じインターフェイスを実装します
- Proxy.nowInstance();プロキシオブジェクトを取得
- メソッドを呼び出すために、プロキシオブジェクトを使用します
- エンハンスメント
- 強化されたパラメータリスト
- 戻り値の型を強化
- エンハンスメントロジック実行
-
例
-
HuaWei huaWei = new HuaWei(); Phone phone = (Phone) Proxy.newProxyInstance(huaWei.getClass().getClassLoader(), huaWei.getClass().getInterfaces(), (proxy, method, args1) -> { System.out.println("phone proxy"); System.out.println(method.getName()); Object invoke = method.invoke(huaWei,args1[0]); return invoke; }); int i = phone.create(1000); System.out.println(i);
-
-