




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、任課教師:張偉芝任課教師:張偉芝第十章第十章 代理模式代理模式任課教師:張偉芝 上節(jié)回顧任課教師:張偉芝 課程內(nèi)容 環(huán)境和問題 代理模式詳解 代理模式實(shí)現(xiàn) 擴(kuò)展話題任課教師:張偉芝 課程內(nèi)容 環(huán)境和問題 代理模式詳解 代理模式實(shí)現(xiàn) 擴(kuò)展話題任課教師:張偉芝 日常生活中的代理 代理簽證 服裝代理商 代理服務(wù)器任課教師:張偉芝zhangw
2、 代理模式動(dòng)機(jī) 一個(gè)客戶不想或者不能直接引用另一個(gè)對(duì)象,此時(shí)可以通過一個(gè)稱之為“代理”的第三者來實(shí)現(xiàn)間接引用。 代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之間起到中介的作用。 可以通過代理對(duì)象去掉客戶不能看到的內(nèi)容和服務(wù)或者添加客戶需要的額外服務(wù)。任課教師:張偉芝 代理模式動(dòng)機(jī)任課教師:張偉芝 代理模式動(dòng)機(jī)任課教師:張偉芝 課程內(nèi)容 環(huán)境和問題 代理模式詳解 代理模式實(shí)現(xiàn) 擴(kuò)展話題任課教師:張偉芝 代
3、理模式定義 給某一對(duì)象提供一個(gè)代理,并由代理對(duì)象控制對(duì)原對(duì)象的引用。 代理模式英文名稱 Proxy Pattern Surrogate Pattern任課教師:張偉芝 代理模式結(jié)構(gòu) 抽象主題 代理主題 真實(shí)主題任課教師:張偉芝 代理模式結(jié)構(gòu) 代理模式示意結(jié)構(gòu)圖比較簡單,一般可以簡化為如下圖所示:任課教師:張偉芝 代理模式調(diào)用順序示意圖任課教師:張偉芝 課程內(nèi)容 環(huán)境和問題 代理模式詳解 代理模式實(shí)現(xiàn) 擴(kuò)展話題任課教師:張
4、偉芝 代理模式案例 圖片延遲加載 我們打算建立一個(gè)應(yīng)用程序,用來展示圖片,由于圖片像素非常大,加載可能需要一些時(shí)間,所以在等待加載圖像的時(shí)候,應(yīng)該顯示一些提示,比如“圖片加載中,請稍候”,一旦加載完成,則顯示圖片。任課教師:張偉芝 代理模式案例 紅酒代理商 一個(gè)紅酒廠商,是不會(huì)直接把紅酒零售客戶的,都是通過代理來完成他的銷售業(yè)務(wù)的.而客戶,也不用為了喝紅酒而到處找工廠,他只要找到廠商在當(dāng)?shù)氐拇砭托辛?具體紅酒工廠在那里,客戶不用關(guān)心,代理會(huì)幫他處理. 任課教師:張偉芝zhangweizhieud2act.
5、org 課程內(nèi)容 環(huán)境和問題 代理模式詳解 代理模式實(shí)現(xiàn) 擴(kuò)展話題任課教師:張偉芝 代理模式與適配器模式任課教師:張偉芝 代理模式與適配器模式 相似性 都為一個(gè)對(duì)象提供間接性訪問 都是從自身以外的一個(gè)接口向?qū)ο筠D(zhuǎn)發(fā)請求 不同性 適配器模式面對(duì)不同接口 代理模式面對(duì)相同接口任課教師:張偉芝 代理模式變體 遠(yuǎn)程(Remote)代理:為一個(gè)位于不同的地址空間的對(duì)象提供一個(gè)本地的代表對(duì)象,這個(gè)不同的地址空間可以是在同一臺(tái)主機(jī)中,也可是在另一臺(tái)主機(jī)中,遠(yuǎn)程代理又叫做大使(A
6、mbassador)。 虛擬(Virtual)代理:如果需要?jiǎng)?chuàng)建一個(gè)資源消耗較大的對(duì)象,先創(chuàng)建一個(gè)消耗相對(duì)較小的對(duì)象來表示,真實(shí)對(duì)象只在需要時(shí)才會(huì)被真正創(chuàng)建。 Copy-on-Write代理:它是虛擬代理的一種,把復(fù)制(克?。┎僮餮舆t到只有在客戶端真正需要時(shí)才執(zhí)行。一般來說,對(duì)象的深克隆是一個(gè)開銷較大的操作,Copy-on-Write代理可以讓這個(gè)操作延遲,只有對(duì)象被用到的時(shí)候才被克隆。任課教師:張偉芝 代理模式變體 保護(hù)(Protect or Access)代理:控制對(duì)一個(gè)對(duì)象的訪問,可以給不同的用戶提供不同級(jí)別的使用權(quán)限。 緩沖(Cache)代理
7、:為某一個(gè)目標(biāo)操作的結(jié)果提供臨時(shí)的存儲(chǔ)空間,以便多個(gè)客戶端可以共享這些結(jié)果。 防火墻(Firewall)代理:保護(hù)目標(biāo)不讓惡意用戶接近。 同步化(Synchronization)代理:使幾個(gè)用戶能夠同時(shí)使用一個(gè)對(duì)象而沒有沖突。 智能引用(Smart Reference)代理:當(dāng)一個(gè)對(duì)象被引用時(shí),提供一些額外的操作,如將此對(duì)象被調(diào)用的次數(shù)記錄下來等。任課教師:張偉芝 幾種常用的代理模式案例 訂單訪問權(quán)限控制代理 現(xiàn)在有一個(gè)訂單系統(tǒng),要求是:一旦訂單被創(chuàng)建,只有訂單的創(chuàng)建人才可以修改訂單中的數(shù)據(jù),其他人則不能修改。 在本實(shí)例中我們使用代理模式中的保護(hù)代理
8、,該代理用于控制對(duì)一個(gè)對(duì)象的訪問,可以給不同的用戶提供不同級(jí)別的使用權(quán)限任課教師:張偉芝 幾種常用的代理模式案例 論壇權(quán)限控制代理任課教師:張偉芝 小結(jié) 在代理模式中,要求給某一個(gè)對(duì)象提供一個(gè)代理,并由代理對(duì)象控制對(duì)原對(duì)象的引用。代理模式的英文叫做Proxy或Surrogate,它是一種對(duì)象結(jié)構(gòu)型模式。 代理模式包含三個(gè)角色:抽象主題角色聲明了真實(shí)主題和代理主題的共同接口;代理主題角色內(nèi)部包含對(duì)真實(shí)主題的引用,從而可以在任何時(shí)候操作真實(shí)主題對(duì)象;真實(shí)主題角色定義了代理角色所代表的真實(shí)對(duì)象,在真實(shí)主題角色中實(shí)
9、現(xiàn)了真實(shí)的業(yè)務(wù)操作,客戶端可以通過代理主題角色間接調(diào)用真實(shí)主題角色中定義的方法。任課教師:張偉芝 小結(jié) 代理模式的優(yōu)點(diǎn)在于能夠協(xié)調(diào)調(diào)用者和被調(diào)用者,在一定程度上降低了系統(tǒng)的耦合度;其缺點(diǎn)在于由于在客戶端和真實(shí)主題之間增加了代理對(duì)象,因此有些類型的代理模式可能會(huì)造成請求的處理速度變慢,并且實(shí)現(xiàn)代理模式需要額外的工作,有些代理模式的實(shí)現(xiàn)非常復(fù)雜。 遠(yuǎn)程代理為一個(gè)位于不同的地址空間的對(duì)象提供一個(gè)本地的代表對(duì)象,它使得客戶端可以訪問在遠(yuǎn)程機(jī)器上的對(duì)象,遠(yuǎn)程機(jī)器可能具有更好的計(jì)算性能與處理速度,可以快速響應(yīng)并處理客戶端請求。任課教師:張偉芝 小結(jié) 如果需要?jiǎng)?chuàng)建一個(gè)資
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小玻璃大棚施工方案
- 橋梁樁基礎(chǔ)施工方案
- 波浪鋁單板施工方案
- 深機(jī)坑施工方案
- 暖棚地下基礎(chǔ)施工方案
- 新能源聚氨酯施工方案
- 墻體砌筑施工方案
- 期中考試總結(jié)發(fā)言稿
- 我的中國夢作文3000字
- 二零二五年度酒店前臺(tái)員工節(jié)假日安排聘用合同范本
- 公路瀝青路面設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范
- 普通高中歷史課程標(biāo)準(zhǔn)(2022年版2023年修訂)解讀
- 第9課《呵護(hù)我們的鼻子》課件
- 加油站春季安全教育培訓(xùn)
- 《統(tǒng)計(jì)學(xué)原理賈俊平》課件
- 高壓隔膜壓濾機(jī)安裝方案
- 2024電力儲(chǔ)能電站鈉離子電池技術(shù)條件
- 老年認(rèn)知功能障礙及其照料課件
- S7-1200使用SCL語言編程實(shí)現(xiàn)數(shù)控G代碼指令編程控制
- 交通事故授權(quán)委托書樣本(通用)正規(guī)范本(通用版)
- MLL基因重排成人急性B淋巴細(xì)胞白血病和急性髓系白血病臨床特征及預(yù)后危險(xiǎn)因素分析
評(píng)論
0/150
提交評(píng)論