在代理模式(Proxy Pattern)中,一個類代表另一個類的功能。這種類型的設計模式屬于結構型模式。
在代理模式中,我們創建具有現有對象的對象,以便向外界提供功能接口。在直接訪問對象時帶來的問題,比如說:要訪問的對象在遠程的機器上。
在面向對象系統中,有些對象由于某些原因(比如對象創建開銷很大,或者某些操作需要安全控制,或者需要進程外的訪問),直接訪問會給使用者或者系統結構帶來很多麻煩,我們可以在訪問此對象時加上一個對此對象的訪問層。
結構圖
角色與理解
- 代理模式共分為四種角色:
- Subject (抽象主題角色):真實主題角色與代理主題角色的共同父類,可以是具體類、抽象類、接口,客戶端針對抽象主題角色編程
- RealSubject (真實主題角色):實現具體業務方法的類,被代理主題角色調用
- Proxy (代理主題角色):持有真實主題角色的引用,在調用真實主題角色的具體業務方法之前或者之后添加其它操作
- 客戶端面對抽象主題角色編程,調用抽象主題角色實際上調用的是代理主題角色,代理主題角色調用的是真實主題角色的方法,并在調用真實主題角色之前或者之后添加其他操作
核心代碼
- 抽象主題角色
- 真實主題角色
- 代理主題角色
- 客戶端
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
控制系統
+關注
關注
41文章
6633瀏覽量
110679 -
Proxy
+關注
關注
0文章
7瀏覽量
7446 -
pattern
+關注
關注
0文章
6瀏覽量
9642
發布評論請先 登錄
相關推薦
適配器模式和代理模式的區別
代理模式 組成: 抽象角色:通過接口或抽象類聲明真實角色實現的業務方法。 代理角色:實現抽象角色,是真實角色的代理,通過真實角色的業務邏輯方法來實現抽象方法,并可以附加自己的
發表于 10-22 15:17
優化電動汽車的結構性能
優化電動汽車的結構性能以提高效率和安全性迅速增長的全球電動汽車(EV)市場預計到2027年將達到8028億美元。在電池和高壓電子設備的驅動下,電動汽車的運行和維護成本往往低于傳統汽車,幾乎不會產生
發表于 09-17 08:10
適配器模式和代理模式的區別
適配器模式:適配器模式有時候也稱包裝樣式或者包裝。將一個類的接口轉接成用戶所期待的。代理模式:為其他對象提供一種代理以控制對這個對象的訪問。
發表于 01-12 11:56
?5278次閱讀
GoF設計模式之代理模式
它是一個使用率非常高的設計模式,在現實生活中,也是很常見。比如,演唱會門票黃牛。假設你需要看一場演唱會,但官網上門票已經售罄,于是就當天到現場通過黃牛高價買了一張。在這個例子中,黃牛就相當于演唱會門票的代理,在正式渠道無法購買門票的情況下,你通過
評論