黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

【設(shè)計(jì)模式系列】結(jié)構(gòu)型模式之Proxy模式

系統(tǒng) 2743 0
概要
有時(shí)候可能我們不希望暴露現(xiàn)有對(duì)象的所有接口,只希望公開其中部分接口,具體來說,比如我們有個(gè)對(duì)象具有一系列的方法接口,如果我們只需要這些接口中間的一小部分,那么我們沒必要去創(chuàng)建這個(gè)對(duì)象本身,我們可以通過一個(gè)更輕量的對(duì)象作為代理來公開我們需要的那部分接口。

目的
基于需求提供代理對(duì)象來實(shí)現(xiàn)既有對(duì)象接口,可以通過這種模式來調(diào)整現(xiàn)有接口的封裝。

實(shí)例
如概要里面所述的通過代理來暴露部分接口的應(yīng)用比較簡單易懂,這里就不舉相關(guān)實(shí)例來進(jìn)行說明了。這里舉個(gè)更典型的 Proxy模式的應(yīng)用方式。
很多應(yīng)用中經(jīng)常需要加載圖片,視屏等大容量媒體對(duì)象,一些第三方庫會(huì)提供相應(yīng)的接口,以圖片為例,大致接口如下:

HighImage是一個(gè)第三方已經(jīng)提供的支持顯示高清圖片的對(duì)象,在創(chuàng)建這個(gè)對(duì)象的時(shí)候會(huì)加載圖片,然后Show函數(shù)會(huì)把已經(jīng)加載的圖片顯示出來。
但是在實(shí)際使用中卻出現(xiàn)了這樣的問題,在初始化創(chuàng)建HighImage對(duì)象的時(shí)候,會(huì)加載高清圖片,由于高清圖片容量比較大,加載需要花費(fèi)一定時(shí)間,目前的需求是希望在初始化創(chuàng)建過程中不要去花費(fèi)時(shí)間加載圖片,而是在需要顯示的時(shí)候才去加載并顯示出來。
Proxy模式該登場了。讓我們通過Proxy代理對(duì)象來解決上面的問題。新建一個(gè)HighImageProxy類(備注:代碼中對(duì)象怎么銷毀不在考慮范疇)。

HighImageProxy類代理了HighImage的基本行為,但是它在創(chuàng)建對(duì)象時(shí)并不加載圖片,而是在Show方法里進(jìn)行加載。對(duì)Client端而言,在創(chuàng)建HighImageProxy對(duì)象時(shí)不需要花費(fèi)圖片加載的時(shí)間,滿足了我們的需求。

應(yīng)用
一些安全代理中經(jīng)常會(huì)限制對(duì)象的訪問權(quán)限,很多都是通過Proxy模式來實(shí)現(xiàn)的。如上面實(shí)例的Proxy模式應(yīng)用也是非常常見的一種。另外也要注意Proxy模式和Adapter模式的區(qū)別,Adapter模式是會(huì)改變接口調(diào)用形式來進(jìn)行適配的,而Proxy模式則是不會(huì)改變現(xiàn)有接口形式,使用相同的接口調(diào)用方式。

【設(shè)計(jì)模式系列】結(jié)構(gòu)型模式之Proxy模式


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論