代理 1 背景介紹
概念
為某個物件提供一個代理,以控制對這個物件的訪問。 代理類和委託類有共同的父類或父介面,這樣在任何使用委託類物件的地方都可以用代理物件替代。
***代理類負責請求的預處理、過濾、將請求分派給委託類處理、以及委託類執行完請求後的後續處理。 ***
為了保持行為的一致性,代理類和委託類通常會實現相同的介面,所以在訪問者看來兩者沒有絲毫的區別。通過代理類這中間一層,能有效控制對委託類物件的直接訪問,也可以很好地隱藏和保護委託類物件,同時也為實施不同控制策略預留了空間,從而在設計上獲得了更大的靈活性。
從圖中可以看出,代理介面(Subject)、代理類(ProxySubject)、委託類(RealSubject)形成一個“品”字結構。
事例
比如 場景是完成資料庫的查詢,並且記錄查詢前後花的時間
那麼,從設計上
代理介面 subject是一個interface 提供查詢資料庫的操作,並不實現
委託類 realSubject 實現資料庫的連線,查詢,斷開
代理類,在呼叫委託類之前,記錄查詢開始時候,呼叫之後,記錄查詢結束時間,列印出花費的時間
分類
按照代理的建立時期,代理類可以分為兩種:
靜態:由程式設計師建立代理類或特定工具自動生成原始碼再對其編譯。在程式執行前代理類的.class檔案就已經存在了。
動態:在程式執行時運用反射機制動態建立而成。
下一節會講靜態代理
refer:
http://layznet.iteye.com/blog/1182924
http://blog.csdn.net/hejingyuan6/article/details/36203505
http://www.cnblogs.com/fingerboy/p/5335328.html
相關文章
- 反向代理用例介紹
- 代理ip的功能介紹
- Symbolic Link漏洞簡單背景介紹Symbol
- 輪換代理介紹及適用場景介紹
- 淺析正向代理與反向代理 海外代理IP介紹
- 詳解HTTP代理與SOCKS代理 海外代理IP介紹HTTP
- http代理使用分類介紹HTTP
- http代理型別格式介紹HTTP型別
- BookKeeper 介紹(1)--簡介
- 淺析動態代理IP 海外代理IP介紹
- 反向代理含義及用途介紹
- 1. VUE介紹Vue
- 選擇代理ip注意事項介紹
- 簡單介紹nginx反向代理及使用Nginx
- http代理401錯誤程式碼介紹HTTP
- 輪換代理IP的工作原理介紹
- 常見的代理IP型別介紹型別
- 1、Oracle 基礎介紹Oracle
- Docker_Docker介紹1Docker
- Laravel: Up and Running (1):介紹Laravel
- Ansible(1)- 簡單介紹
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- React Native在Android當中實踐(一)——背景介紹React NativeAndroid
- 人臉檢測背景介紹和發展現狀
- 波場鏈Tronchain創始人實力背景介紹AI
- 爬蟲代理 Scrapy 框架詳細介紹 2爬蟲框架
- HTTP與HTTPS詳解 海外代理IP介紹HTTP
- 代理IP常見錯誤程式碼介紹
- 代理IP的四大功能介紹
- 介紹下Nginx 反向代理與負載均衡Nginx負載
- 介紹Nginx、正向代理和實現反向代理的兩個例項Nginx
- 1.k8s介紹K8S
- Oracle cluster table(1)_概念介紹Oracle
- 1、Camunda工作流-介紹
- RocketMQ系列1:基礎介紹MQ
- MQTT QoS 0, 1, 2 介紹MQQT
- Burp suite的系列介紹(1)UI
- redis-1.Nosql的介紹RedisSQL
- 高匿代理的介紹及常見問題