设计模式——代理模式
代理(Proxy)是一種設計模式,提供了對目標對象另外的訪問方式;即通過代理對象訪問目標對象.這樣做的好處是:可以在目標對象實現的基礎上,增強額外的功能操作,即擴展目標對象的功能.這里使用到編程中的一個思想:不要隨意去修改別人已經寫好的代碼或者方法,如果需改修改,可以通過代理的方式來擴展該方法。
代理模式有3種:靜態代理,動態代理和Cglib代理。靜態代理和動態代理模式都是要求目標對象是實現一個接口的目標對象,Cglib代理則可以是獨立的類。
代理模式詳解(包含原理詳解)
?
三種代理模式介紹
代理模式使用場景:
(1)?當客戶端對象需要訪問遠程主機中的對象時可以使用遠程代理。
?????? (2)?當需要用一個消耗資源較少的對象來代表一個消耗資源較多的對象,從而降低系統開銷、縮短運行時間時可以使用虛擬代理,例如一個對象需要很長時間才能完成加載時。
?????? (3)?當需要為某一個被頻繁訪問的操作結果提供一個臨時存儲空間,以供多個客戶端共享訪問這些結果時可以使用緩沖代理。通過使用緩沖代理,系統無須在客戶端每一次訪問時都重新執行操作,只需直接從臨時緩沖區獲取操作結果即可。
?????? (4)?當需要控制對一個對象的訪問,為不同用戶提供不同級別的訪問權限時可以使用保護代理。
?????? (5)?當需要為一個對象的訪問(引用)提供一些額外的操作時可以使用智能引用代理。
?
posted on 2017-10-11 15:05 啟示 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/yang-lq/p/7650626.html
總結
以上是生活随笔為你收集整理的设计模式——代理模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DockOne微信分享( 九十一):打造
- 下一篇: valgrind基础