代理模式是什么?代理模式的優缺點有哪些?

您可能對代理有一定的了解,但您不一定了解代理模式。 代理模式是一種設計模式,提供對目標對象的額外訪問。 例如,銷售代理充當火車站對象的代理,并提供購票方式。 那么代理模式有多少種呢? 代理模式的優缺點是什么? 結合IP模擬器代理了解一些代理模式的基礎知識。  
 
 
代理方式有幾種
 
1.動態代理
 
是在jvm運行時通過反射動態創建對象 ,生成字節碼對象(構造方法參數InvocationHandler h類型),傳入我們實現InvocationHandler接口的對象,通過反射創建代理對象。 那么當代理對象的任何方法被調用時,都會調用h中的invoke(Object proxy, Method method, Object[] args),傳入當前代理對象、當前調用的方法、方法參數值。  
 
2.靜態代理 
 
代理類由程序員創建,然后編譯成 .class 文件。 但缺點是代碼重復,不靈活。 比如在接口A中的所有方法執行前添加日志邏輯。如果使用靜態代理,則必須添加代理類中的每個方法。 如果我想在開頭的方法中添加*添加一個邏輯,在select*開頭的方法中添加另一個邏輯。 那么就很難實現和維護。 如果要解決上面的困惑,就必須使用動態代理。  
 
代理模型的優缺點 
 
1.單個目標對象 
 
 靜態代理實現比較簡單,只要代理對象包裹了目標對象 ,可以實現增強功能,但靜態代理只能服務一個目標對象。 如果目標對象太多,就會產生很多代理類。  
 
2.實現多個類 
 
 靜態代理通常只代理一個類,動態代理是在一個接口下代理多個實現類。  
 
3.系統性能消耗
 
 動態代理必須實現InvocationHandler接口。 通過反射代理的方式,消耗了系統性能,但是可以減少代理類的數量,使用起來更加靈活。  CGLIB實現動態代理,不需要代理類必須實現接口。  
 
4.class文件 

編譯時已經實現了靜態代理,代理類是編譯后的實際類文件。 動態代理是在運行時動態生成的,即編譯完成后沒有實際的類文件,而是在運行時動態生成類字節碼并加載到JVM中。  
 
代理模式有哪些? 代理模式的優缺點是什么? 通過以上的了解,相信大家已經有了一定的了解。 在某些情況下,一個對象不合適或不能直接引用另一個對象,代理對象可以在客戶端和目標對象之間起到中介作用。 
主站蜘蛛池模板: 香蕉视频网站在线观看| 99在线精品免费视频| 日韩精品视频在线播放| 亚洲欧美国产日本| 男人j桶进女人j的视频| 四虎影院的网址| 韩国护士hd高清xxxx| 国产真乱全集mangent| 7777奇米影视| 夜夜揉揉日日人人青青| 一级毛片免费观看不收费| 极品丝袜乱系列目录全集| 亚洲日韩欧美综合| 浪荡秘书伺候办公室h| 免费看黄的网页| 精品日韩二区三区精品视频| 国产一区二三区| 英国性经典xxxx| 国产亚洲欧美另类一区二区三区 | 亚洲熟妇AV乱码在线观看| 男女之间差差差| 农村老熟妇乱子伦视频| 美女的胸又www又黄的网站| 国产一级做a爱免费视频| 超碰色偷偷男人的天堂| 国产成a人亚洲精v品无码| 91香蕉成人免费网站| 国产日产精品_国产精品毛片| 亚洲色图欧美在线| 国产精品99精品久久免费| 波多野结衣资源在线| 国产精品va在线观看无码| 天堂在线最新资源| 国产精品亚洲一区二区无码| 手机看片你懂的| 国产粉嫩粉嫩的18在线播放91| xxxxwwww中国| 国产欧美日韩综合精品二区| 国产精品真实对白精彩久久| 国产成人精品999在线观看| 91免费国产在线观看|