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

核心:? 客戶端與執(zhí)行者之間加一層代理

本質(zhì):控制對(duì)象訪問(wèn)



因此,? 代理對(duì)象 可以在中間做很多事情

根據(jù)代理做了不同事情,大伙給他們起了一些名字

遠(yuǎn)程代理: Java中RMI技術(shù)? 一個(gè)對(duì)象在多個(gè)不同地址上

虛代理:創(chuàng)建資源消耗特別大的對(duì)象之前的處理,例如用戶信息只需要返回名稱,但是次次返回一個(gè)大的完整對(duì)象,這就沒(méi)有必要

Android中壓縮圖片那塊兒

BitmapFactory.Options newOpts =newBitmapFactory.Options();

//?開(kāi)始讀入圖片,此時(shí)把options.inJustDecodeBounds?設(shè)回true,即只讀邊不讀內(nèi)容

newOpts.inJustDecodeBounds?=true;

這里一定用到了虛代理

保護(hù)代理:訪問(wèn)對(duì)象前加上權(quán)限

智能牽引代理: 在代理對(duì)象操作真實(shí)對(duì)象的前后做一些附加動(dòng)作

代理實(shí)現(xiàn)主要角色

接口 Subject?

實(shí)際對(duì)象 RealSubject實(shí)現(xiàn)接口

代理對(duì)象Proxy 實(shí)現(xiàn)接口,并持有RealSubject的引用

什么是靜態(tài)代理和動(dòng)態(tài)代理

靜態(tài)代理是指的我們自己實(shí)現(xiàn)的

動(dòng)態(tài)代理指的是Java內(nèi)建的,在java.lang.reflect 包下有兩個(gè) Proxy 和InvocationHandler ,代理對(duì)象必須實(shí)現(xiàn)InvocationHandler接口

動(dòng)態(tài)代理的好處是每次接口變化,代理對(duì)象不用變化

還有一種代理實(shí)現(xiàn)方式,就是繼承實(shí)現(xiàn),去掉了接口。


完結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 定義 代理模式是對(duì)象的結(jié)構(gòu)模式。代理模式給某一個(gè)對(duì)象提供代理對(duì)象,并由代理對(duì)象控制對(duì)源對(duì)象的引用。 代理模式的結(jié)構(gòu)...
    步積閱讀 6,428評(píng)論 0 1
  • 1 場(chǎng)景問(wèn)題# 1.1 訪問(wèn)多條數(shù)據(jù)## 考慮這樣一個(gè)實(shí)際應(yīng)用:要一次性訪問(wèn)多條數(shù)據(jù)。 這個(gè)功能的背景是這樣的;在...
    七寸知架構(gòu)閱讀 3,038評(píng)論 1 52
  • 整體Retrofit內(nèi)容如下: 1、Retrofit解析1之前哨站——理解RESTful 2、Retrofit解析...
    隔壁老李頭閱讀 3,269評(píng)論 2 10
  • 7/2 (星期天一點(diǎn)到兩點(diǎn)) 高級(jí)班紀(jì)錄 reflection ~ 學(xué)生: 邢壹脈,何明敏,廖慧彬,王鑫怡,謝於悅...
    螢火蟲(chóng)ABC閱讀 253評(píng)論 0 0
  • 上午去干活,去他媽媽那吃罷飯,回來(lái)一點(diǎn)多。想著還有任務(wù),熱哄哄的天,也不敢倒那睡。開(kāi)了電腦做了6單,差不多40多的...
    南受朝北閱讀 339評(píng)論 0 0