java代理模式之靜態(tài)代理
作為一個(gè)初級開發(fā)者,可能不會(huì)接觸到代理模式,但是在很多框架的使用中都不知不覺使用了代理模式,比如servlet的過濾器鏈,spring的AOP,以及spring mvc的攔截器等。所以了解代理模式對于個(gè)人的成長是不可避免的。
在某些情況下,一個(gè)客戶不想或者不能直接引用一個(gè)對象,此時(shí)可以通過一個(gè)稱之為“代理”的第三者來實(shí)現(xiàn)間接引用。代理對象可以在客戶端和目標(biāo)對象之間起到中介的作用,并且可以通過代理對象去掉客戶不能看到的內(nèi)容和服務(wù)或者添加客戶需要的額外服務(wù)。
原文和作者一起討論:http://www.cnblogs.com/intsmaze/p/6013461.html
新浪微博:intsmaze劉洋洋哥
通過引入一個(gè)新的對象來實(shí)現(xiàn)對真實(shí)對象的操作或者將新的對象作為真實(shí)對象的一個(gè)替身,這種實(shí)現(xiàn)機(jī)制即為代理模式,通過引入代理對象來間接訪問一個(gè)對象,這就是代理模式的模式動(dòng)機(jī)。
代理模式(Proxy Pattern) :給某一個(gè)對象提供一個(gè)代理,并由代理對象控制對原對象的引用。代理模式的英文叫做Proxy或Surrogate,它是一種對象結(jié)構(gòu)型模式。
代理模式示意結(jié)構(gòu)圖比較簡單,一般可以簡化為如下圖所示,但是在現(xiàn)實(shí)中要復(fù)雜很多。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26