設(shè)計(jì)模式知識(shí)梳理(7) - 結(jié)構(gòu)型 - 代理模式

一襟雷、基本概念

1.1 定義

為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。

1.2 例子

代理模式

代理模式的角色分為以下幾種:

  • 抽象主題類Subject:聲明真實(shí)主題與代理的共同接口方法矫夷。
/**
 * 抽象主題類。
 *
 * @author lizejun
 **/
public abstract class Subject {

    /**
     * 業(yè)務(wù)方法。
     */
    public abstract void visit();
}
  • 真實(shí)主題類RealSubject:定義了代理所表示的真實(shí)對(duì)象,由其執(zhí)行具體的業(yè)務(wù)邏輯方法埋涧,客戶類通過(guò)代理類間接地調(diào)用真實(shí)主題類中定義的方法。
/**
 * 實(shí)現(xiàn)抽象主題的真實(shí)主題類搀绣。
 *
 * @author lizejun
 **/
public class RealSubject extends Subject {

    @Override
    public void visit() {
        Log.d("RealSubject", "visit()");
    }
}
  • 代理類ProxySubject:該類持有一個(gè)對(duì)真實(shí)主題類RealSubject的引用,在其所實(shí)現(xiàn)的接口方法中調(diào)用真實(shí)主題類中相應(yīng)的接口方法執(zhí)行戳气。
/**
 * 代理類链患。
 *
 * @author lizejun
 **/
public class ProxySubject extends Subject {

    private Subject mSubject;

    public ProxySubject(Subject subject) {
        mSubject = subject;
    }

    @Override
    public void visit() {
        mSubject.visit();
    }
}

1.3 代理模式的使用場(chǎng)景

當(dāng)無(wú)法或不想直接訪問(wèn)某個(gè)對(duì)象或訪問(wèn)某個(gè)對(duì)象存在困難時(shí),可以通過(guò)一個(gè)代理對(duì)象來(lái)間接訪問(wèn)瓶您,為了保證客戶端使用的透明性麻捻,委托對(duì)象與代理對(duì)象 需要 實(shí)現(xiàn)相同的接口

1.4 代理模式優(yōu)缺點(diǎn)

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

  • 協(xié)調(diào)調(diào)用者和被調(diào)用者呀袱,降低系統(tǒng)的耦合贸毕。
  • 起到中介的作用,保護(hù)目標(biāo)對(duì)象夜赵。

缺點(diǎn)

  • 需要額外的工作明棍。
  • 在調(diào)用者和真實(shí)對(duì)象之間增加了代理對(duì)象,有可能導(dǎo)致請(qǐng)求變慢寇僧。

二摊腋、Android 源碼

在之前的文章中,我們已經(jīng)在源碼當(dāng)中接觸過(guò)兩種代理模式嘁傀,這里就不再重復(fù)說(shuō)明了兴蒸,有興趣的可以看下面這兩篇文章:

三、項(xiàng)目應(yīng)用

待補(bǔ)充细办。

四橙凳、參考文獻(xiàn)

  • <<Android 源碼設(shè)計(jì)模式 - 解析與實(shí)戰(zhàn)>>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市笑撞,隨后出現(xiàn)的幾起案子岛啸,更是在濱河造成了極大的恐慌,老刑警劉巖茴肥,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件值戳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡炉爆,警方通過(guò)查閱死者的電腦和手機(jī)堕虹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門卧晓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赴捞,你說(shuō)我怎么就攤上這事逼裆。” “怎么了赦政?”我有些...
    開(kāi)封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵胜宇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我恢着,道長(zhǎng)桐愉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任掰派,我火速辦了婚禮从诲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘靡羡。我一直安慰自己系洛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布略步。 她就那樣靜靜地躺著描扯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪趟薄。 梳的紋絲不亂的頭發(fā)上绽诚,一...
    開(kāi)封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音杭煎,去河邊找鬼憔购。 笑死,一個(gè)胖子當(dāng)著我的面吹牛岔帽,可吹牛的內(nèi)容都是我干的玫鸟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼犀勒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼屎飘!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起贾费,我...
    開(kāi)封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钦购,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后褂萧,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體押桃,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年导犹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唱凯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片羡忘。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖磕昼,靈堂內(nèi)的尸體忽然破棺而出卷雕,到底是詐尸還是另有隱情,我是刑警寧澤票从,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布漫雕,位于F島的核電站,受9級(jí)特大地震影響峰鄙,放射性物質(zhì)發(fā)生泄漏浸间。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一吟榴、第九天 我趴在偏房一處隱蔽的房頂上張望魁蒜。 院中可真熱鬧,春花似錦煤墙、人聲如沸梅惯。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至她君,卻和暖如春脚作,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缔刹。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工球涛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人校镐。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓亿扁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鸟廓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子从祝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料引谜? 從這篇文章中你...
    hw1212閱讀 12,699評(píng)論 2 59
  • 設(shè)計(jì)模式概述 在學(xué)習(xí)面向?qū)ο笃叽笤O(shè)計(jì)原則時(shí)需要注意以下幾點(diǎn):a) 高內(nèi)聚牍陌、低耦合和單一職能的“沖突”實(shí)際上,這兩者...
    彥幀閱讀 3,736評(píng)論 0 14
  • 整體Retrofit內(nèi)容如下: 1员咽、Retrofit解析1之前哨站——理解RESTful 2毒涧、Retrofit解析...
    隔壁老李頭閱讀 3,232評(píng)論 2 10
  • 失去一樣?xùn)|西時(shí), 我們會(huì)念念不忘贝室; 但真正擁有的時(shí)候契讲, 我們卻常常視而不見(jiàn)仿吞。 人生最大的不幸福, 不是得不到怀泊, 而...
    遠(yuǎn)方_dina閱讀 518評(píng)論 6 13
  • 全身心的熱愛(ài)卻無(wú)法融入和接納茫藏,是一種怎樣的孤獨(dú)和痛苦
    DreamH閱讀 295評(píng)論 0 2