java代理模式之靜態(tài)代理

作為一個(gè)初級(jí)開發(fā)者,可能不會(huì)接觸到代理模式,但是在很多框架的使用中都不知不覺使用了代理模式,比如servlet的過(guò)濾器鏈,spring的AOP,以及spring mvc的攔截器等。所以了解代理模式對(duì)于個(gè)人的成長(zhǎng)是不可避免的。

在某些情況下,一個(gè)客戶不想或者不能直接引用一個(gè)對(duì)象,此時(shí)可以通過(guò)一個(gè)稱之為“代理”的第三者來(lái)實(shí)現(xiàn)間接引用。代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之間起到中介的作用,并且可以通過(guò)代理對(duì)象去掉客戶不能看到的內(nèi)容和服務(wù)或者添加客戶需要的額外服務(wù)。

 

原文和作者一起討論:http://www.cnblogs.com/intsmaze/p/6013461.html

新浪微博:intsmaze劉洋洋哥

    通過(guò)引入一個(gè)新的對(duì)象來(lái)實(shí)現(xiàn)對(duì)真實(shí)對(duì)象的操作或者將新的對(duì)象作為真實(shí)對(duì)象的一個(gè)替身,這種實(shí)現(xiàn)機(jī)制即為代理模式,通過(guò)引入代理對(duì)象來(lái)間接訪問(wèn)一個(gè)對(duì)象,這就是代理模式的模式動(dòng)機(jī)。 
 
    代理模式(Proxy Pattern) :給某一個(gè)對(duì)象提供一個(gè)代理,并由代理對(duì)象控制對(duì)原對(duì)象的引用。代理模式的英文叫做Proxy或Surrogate,它是一種對(duì)象結(jié)構(gòu)型模式。

    代理模式示意結(jié)構(gòu)圖比較簡(jiǎn)單,一般可以簡(jiǎn)化為如下圖所示,但是在現(xiàn)實(shí)中要復(fù)雜很多。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

我想了解如何學(xué)習(xí)

姓名:
手機(jī):
留言: