黄色网页视频 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ì)模式之五 --- 代理(Proxy)模式

系統(tǒng) 2420 0

【1】基本概念

代理模式(Proxy):為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。代理者可以作任何東西的接口:網(wǎng)絡(luò)連接、內(nèi)存中的大物件、檔案或其它昂貴或無(wú)法復(fù)制的資源。

【2】簡(jiǎn)單分析

我們先看一下該設(shè)計(jì)模式的UML結(jié)構(gòu)圖:

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

我們通過(guò)上面的結(jié)構(gòu)圖可以看到:

Subject類:定義了RealSubject和Proxy的共用接口,這樣就可以在任何使用RealSubject的地方都可以用Proxy。

RealSubject類:定義Proxy所代表的真實(shí)實(shí)體。

Proxy類:保存一個(gè)引用使得代理可以訪問(wèn)實(shí)體,并提供一個(gè)與Subject的接口相同的接口,這樣代理就可以用來(lái)替代實(shí)體。

【3】如何用java語(yǔ)言實(shí)現(xiàn)該模式

我們先看下代碼的結(jié)構(gòu)圖,該模式的代碼實(shí)現(xiàn)比較簡(jiǎn)單:

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

3.1 Subject類:Image.java

3.2 RealSubject類:RealImage.java

3.3 Proxy類:ProxyImage.java

3.4 客戶端測(cè)試類:ProxyClient.java

【4】程序運(yùn)行結(jié)果:

總結(jié)下代理模式的應(yīng)用場(chǎng)合:

第一:遠(yuǎn)程代理,也就是為一個(gè)對(duì)象在不同的地址空間提供局部代表,這樣可以隱藏一個(gè)對(duì)象存在于不同地址空間的事實(shí)。

第二:虛擬代理,是根據(jù)需要?jiǎng)?chuàng)建開銷很大的對(duì)象,通過(guò)它來(lái)存放實(shí)例化需要很長(zhǎng)時(shí)間的真實(shí)對(duì)象。

第三:安全代理,用來(lái)控制真實(shí)對(duì)象訪問(wèn)時(shí)的權(quán)限。

第四:智能引用,是指當(dāng)調(diào)用真實(shí)對(duì)象時(shí),代理處理另外一些事。本文的例子就是采用了這一點(diǎn)。


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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

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

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

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

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