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