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ù)雜很多。

延伸閱讀

學(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ī):
留言: