設(shè)計(jì)模式與原則之代理模式

1. 定義

代理模式就是給對(duì)象提供一個(gè)代理惠拭,用來(lái)控制對(duì)對(duì)象的訪問。這時(shí),訪問對(duì)象不適合或者不能直接引用目標(biāo)對(duì)象沃疮,代理對(duì)象作為訪問對(duì)象和目標(biāo)對(duì)象之間的中介。

2. 類圖

類圖

3. 對(duì)象展示

對(duì)象

4. 場(chǎng)景及過程

為真實(shí)資源添加代理資源并將數(shù)據(jù)存入緩存.

real_source = Source('picture.jpg')
proxy = SourceProxy(real_source)
client = Client(proxy)
client.show() // 真實(shí)資源的第一次調(diào)用
client.show() // 通過代理存入緩存的調(diào)用

5. 與裝飾器模式區(qū)別

  1. 裝飾器模式強(qiáng)調(diào)的是增強(qiáng)自身梅肤,在被裝飾之后你能夠在被增強(qiáng)的類上使用增強(qiáng)后的功能司蔬。增強(qiáng)后還是自己,只不過能力更強(qiáng)了而已姨蝴;代理模式強(qiáng)調(diào)要讓別人幫你去做一些本身與你業(yè)務(wù)沒有太多關(guān)系的職責(zé)(記錄日志俊啼、設(shè)置緩存)。代理模式是為了實(shí)現(xiàn)對(duì)象的控制左医,因?yàn)楸淮淼膶?duì)象往往難以直接獲得或者是其內(nèi)部不想暴露出來(lái)授帕。
  2. 裝飾模式是以對(duì)客戶端透明的方式擴(kuò)展對(duì)象的功能,是繼承方案的一個(gè)替代方案炒辉;代理模式則是給一個(gè)對(duì)象提供一個(gè)代理對(duì)象豪墅,并由代理對(duì)象來(lái)控制對(duì)原有對(duì)象的引用;
  3. 裝飾模式是為裝飾的對(duì)象增強(qiáng)功能黔寇;而代理模式對(duì)代理的對(duì)象施加控制偶器,但不對(duì)對(duì)象本身的功能進(jìn)行增強(qiáng);

6. 應(yīng)用場(chǎng)景分析

nginx代理,緩存數(shù)據(jù),日志記錄,隱藏真實(shí)對(duì)象等
把微服務(wù)當(dāng)做一個(gè)整體,cbs就相當(dāng)于代理了很多微服務(wù)

7. 優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

被代理的對(duì)象只需要實(shí)現(xiàn)與自己相關(guān)的業(yè)務(wù)
擴(kuò)展性高
保護(hù)被代理對(duì)象的訪問權(quán)限

缺點(diǎn):

被代理對(duì)象增加業(yè)務(wù)邏輯也需要在代理類中增加邏輯
需要先設(shè)計(jì)出真實(shí)的對(duì)象才能對(duì)該對(duì)象進(jìn)行代理
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市屏轰,隨后出現(xiàn)的幾起案子颊郎,更是在濱河造成了極大的恐慌,老刑警劉巖霎苗,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姆吭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡唁盏,警方通過查閱死者的電腦和手機(jī)内狸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)厘擂,“玉大人昆淡,你說我怎么就攤上這事」粞希” “怎么了昂灵?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)舞萄。 經(jīng)常有香客問我眨补,道長(zhǎng),這世上最難降的妖魔是什么倒脓? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任撑螺,我火速辦了婚禮,結(jié)果婚禮上崎弃,老公的妹妹穿的比我還像新娘实蓬。我一直安慰自己,他們只是感情好吊履,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布安皱。 她就那樣靜靜地躺著,像睡著了一般艇炎。 火紅的嫁衣襯著肌膚如雪酌伊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天缀踪,我揣著相機(jī)與錄音居砖,去河邊找鬼。 笑死驴娃,一個(gè)胖子當(dāng)著我的面吹牛奏候,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播唇敞,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼蔗草,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼咒彤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起咒精,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤镶柱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后模叙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歇拆,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年范咨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了故觅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡渠啊,死狀恐怖逻卖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昭抒,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布炼杖,位于F島的核電站灭返,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏坤邪。R本人自食惡果不足惜熙含,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望艇纺。 院中可真熱鬧怎静,春花似錦、人聲如沸黔衡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盟劫。三九已至夜牡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侣签,已是汗流浹背塘装。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留影所,地道東北人蹦肴。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像猴娩,于是被迫代替她去往敵國(guó)和親阴幌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子勺阐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容