10、設計模式之代理(Proxy)模式

什麼是代理模式

代理模式是對象的結構模式,爲其餘對象提供一種對象以控制對這個對象的訪問。設計模式

代理模式的結構圖以下:(源自大話設計模式)安全

image

 

Subject:定義了RealSubject和Proxy的公共接口,這樣在任何使用RealSubject的地方均可以使用Proxy設計

代理模式就是在代理類中持有RealSubject的對象句柄,這樣調用接口時,都執行RealSubject的對應方法,以達到封裝內部控制對象的目的並起到代理的做用。代理

代理模式的應用

第一種是遠程代理,也就是爲一個對象在不一樣的地址空間(跨機器)提供局部表明,這樣能夠隱藏一個對象存在於不一樣地址空間的事實。指針

第二種是虛擬代理,是根據須要建立開銷更大的對象,經過它來存放實例化須要很長時間的真實對象。 好比打開網頁是的圖片一步加載,加載以前網頁中預留的圖片的白框就是圖片的代理。對象

第三種是安全代理,用來控制真實對象訪問時的權限,通常用於對象應該有不一樣的訪問權限的時候。blog

第四種是智能指針,他是真實對象的一種代理。接口

相關文章
相關標籤/搜索