一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

設(shè)計(jì)模式結(jié)構(gòu)性:代理模式

冬至子 ? 來(lái)源:碼農(nóng)架構(gòu) ? 作者:小智 ? 2023-06-09 15:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在代理模式(Proxy Pattern)中,一個(gè)類(lèi)代表另一個(gè)類(lèi)的功能。這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式。

在代理模式中,我們創(chuàng)建具有現(xiàn)有對(duì)象的對(duì)象,以便向外界提供功能接口。在直接訪問(wèn)對(duì)象時(shí)帶來(lái)的問(wèn)題,比如說(shuō):要訪問(wèn)的對(duì)象在遠(yuǎn)程的機(jī)器上。

在面向?qū)ο笙到y(tǒng)中,有些對(duì)象由于某些原因(比如對(duì)象創(chuàng)建開(kāi)銷(xiāo)很大,或者某些操作需要安全控制,或者需要進(jìn)程外的訪問(wèn)),直接訪問(wèn)會(huì)給使用者或者系統(tǒng)結(jié)構(gòu)帶來(lái)很多麻煩,我們可以在訪問(wèn)此對(duì)象時(shí)加上一個(gè)對(duì)此對(duì)象的訪問(wèn)層。

結(jié)構(gòu)圖

圖片

角色與理解

  • 代理模式共分為四種角色:
  • Subject (抽象主題角色):真實(shí)主題角色與代理主題角色的共同父類(lèi),可以是具體類(lèi)、抽象類(lèi)、接口,客戶端針對(duì)抽象主題角色編程
  • RealSubject (真實(shí)主題角色):實(shí)現(xiàn)具體業(yè)務(wù)方法的類(lèi),被代理主題角色調(diào)用
  • Proxy (代理主題角色):持有真實(shí)主題角色的引用,在調(diào)用真實(shí)主題角色的具體業(yè)務(wù)方法之前或者之后添加其它操作
  • 客戶端面對(duì)抽象主題角色編程,調(diào)用抽象主題角色實(shí)際上調(diào)用的是代理主題角色,代理主題角色調(diào)用的是真實(shí)主題角色的方法,并在調(diào)用真實(shí)主題角色之前或者之后添加其他操作

核心代碼

  • 抽象主題角色

圖片

  • 真實(shí)主題角色

圖片

  • 代理主題角色

圖片

  • 客戶端

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6770

    瀏覽量

    111931
  • Proxy
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    7551
  • pattern
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    9751
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    適配器模式代理模式的區(qū)別

      代理模式  組成:  抽象角色:通過(guò)接口或抽象類(lèi)聲明真實(shí)角色實(shí)現(xiàn)的業(yè)務(wù)方法。  代理角色:實(shí)現(xiàn)抽象角色,是真實(shí)角色的代理,通過(guò)真實(shí)角色的業(yè)務(wù)邏輯方法來(lái)實(shí)現(xiàn)抽象方法,并可以附加自己的
    發(fā)表于 10-22 15:17

    優(yōu)化電動(dòng)汽車(chē)的結(jié)構(gòu)性

    優(yōu)化電動(dòng)汽車(chē)的結(jié)構(gòu)性能以提高效率和安全迅速增長(zhǎng)的全球電動(dòng)汽車(chē)(EV)市場(chǎng)預(yù)計(jì)到2027年將達(dá)到8028億美元。在電池和高壓電子設(shè)備的驅(qū)動(dòng)下,電動(dòng)汽車(chē)的運(yùn)行和維護(hù)成本往往低于傳統(tǒng)汽車(chē),幾乎不會(huì)產(chǎn)生
    發(fā)表于 09-17 08:10

    STM32的結(jié)構(gòu)和啟動(dòng)模式

    STM32的結(jié)構(gòu)和啟動(dòng)模式需要的來(lái)下載哦。
    發(fā)表于 03-31 17:36 ?46次下載

    適配器模式、裝飾器模式代理模式的區(qū)別

    適配器模式、裝飾器模式代理模式都屬于設(shè)計(jì)模式中的結(jié)構(gòu)型模式,
    發(fā)表于 10-18 15:53 ?1.7w次閱讀
    適配器<b class='flag-5'>模式</b>、裝飾器<b class='flag-5'>模式</b>、<b class='flag-5'>代理</b><b class='flag-5'>模式</b>的區(qū)別

    適配器模式代理模式的區(qū)別

    適配器模式:適配器模式有時(shí)候也稱包裝樣式或者包裝。將一個(gè)類(lèi)的接口轉(zhuǎn)接成用戶所期待的。代理模式:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。
    發(fā)表于 01-12 11:56 ?5384次閱讀
    適配器<b class='flag-5'>模式</b>和<b class='flag-5'>代理</b><b class='flag-5'>模式</b>的區(qū)別

    GoF設(shè)計(jì)模式代理模式

    它是一個(gè)使用率非常高的設(shè)計(jì)模式,在現(xiàn)實(shí)生活中,也是很常見(jiàn)。比如,演唱會(huì)門(mén)票黃牛。假設(shè)你需要看一場(chǎng)演唱會(huì),但官網(wǎng)上門(mén)票已經(jīng)售罄,于是就當(dāng)天到現(xiàn)場(chǎng)通過(guò)黃牛高價(jià)買(mǎi)了一張。在這個(gè)例子中,黃牛就相當(dāng)于演唱會(huì)門(mén)票的代理,在正式渠道無(wú)法購(gòu)買(mǎi)門(mén)票的情況下,你通過(guò)
    的頭像 發(fā)表于 10-17 09:45 ?1160次閱讀

    設(shè)計(jì)模式結(jié)構(gòu)性:適配器模式

    適配器模式(Adapter Pattern)是作為兩個(gè)不兼容的接口之間的橋梁。這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它結(jié)合了兩個(gè)獨(dú)立接口的功能。
    的頭像 發(fā)表于 06-07 11:56 ?986次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:適配器<b class='flag-5'>模式</b>

    設(shè)計(jì)模式結(jié)構(gòu)性:組合模式

    組合模式(Composite Pattern),又叫部分整體模式,是用于把一組相似的對(duì)象當(dāng)作一個(gè)單一的對(duì)象。
    的頭像 發(fā)表于 06-08 10:34 ?1427次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:組合<b class='flag-5'>模式</b>

    設(shè)計(jì)模式結(jié)構(gòu)性:橋接模式

    橋接模式不是將兩個(gè)不相干的類(lèi)鏈接,而是將一個(gè)需要多維度變化的類(lèi)拆分成抽象部分和實(shí)現(xiàn)部分,并且在抽象層對(duì)兩者做組合關(guān)聯(lián),是用組合的方式來(lái)解決繼承的問(wèn)題。
    的頭像 發(fā)表于 06-08 10:49 ?1081次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:橋接<b class='flag-5'>模式</b>

    設(shè)計(jì)模式結(jié)構(gòu)性:門(mén)面模式

    門(mén)面模式,是指提供一個(gè)統(tǒng)一的接口去訪問(wèn)多個(gè)子系統(tǒng)的多個(gè)不同的接口,它為子系統(tǒng)中的一組接口提供一個(gè)統(tǒng)一的高層接口。
    的頭像 發(fā)表于 06-08 14:28 ?835次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:門(mén)面<b class='flag-5'>模式</b>

    設(shè)計(jì)模式結(jié)構(gòu)性:享元模式

    享元模式(Flyweight Pattern)主要用于減少創(chuàng)建對(duì)象的數(shù)量,以減少內(nèi)存占用和提高性能。
    的頭像 發(fā)表于 06-08 17:32 ?883次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:享元<b class='flag-5'>模式</b>

    設(shè)計(jì)模式代理模式的使用場(chǎng)景

    官方定義: 代理模式 (Proxy Pattern) 是一種結(jié)構(gòu)型設(shè)計(jì)模式,通過(guò)代理對(duì)象控制對(duì)原對(duì)象的訪問(wèn),并允許在訪問(wèn)前或訪問(wèn)后做一些處理
    的頭像 發(fā)表于 10-08 14:34 ?1400次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b>中<b class='flag-5'>代理</b><b class='flag-5'>模式</b>的使用場(chǎng)景

    5G技術(shù)和電動(dòng)汽車(chē)會(huì)推動(dòng)結(jié)構(gòu)性增長(zhǎng)嗎?.zip

    5G技術(shù)和電動(dòng)汽車(chē)會(huì)推動(dòng)結(jié)構(gòu)性增長(zhǎng)嗎?
    發(fā)表于 01-13 09:06 ?1次下載

    存儲(chǔ)器結(jié)構(gòu)性分道篇.zip

    存儲(chǔ)器結(jié)構(gòu)性分道篇
    發(fā)表于 01-13 09:07 ?1次下載

    汽車(chē)行業(yè):短期關(guān)注芯片短缺改善,長(zhǎng)期布局結(jié)構(gòu)性機(jī)會(huì).zip

    汽車(chē)行業(yè):短期關(guān)注芯片短缺改善,長(zhǎng)期布局結(jié)構(gòu)性機(jī)會(huì)
    發(fā)表于 01-13 09:07 ?2次下載