999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析C#設計模式之代理模式

2012-05-14 16:55:27沈鵬
卷宗 2012年10期

沈鵬

摘要:代理模式是常用的結構型設計模式之一,當無法直接訪問某個對象或訪問某個對象存在困難時可以通過一個代理對象來間接訪問,為了保證客戶端使用的透明性,所訪問的真實對象與代理對象需要實現相同的接口。根據代理模式的使用目的不同,代理模式又可以分為多種類型,例如保護代理、遠程代理、虛擬代理、緩沖代理等,它們應用于不同的場合,滿足用戶的不同需求。

關鍵詞:C#;設計模式;代理模式

一、代理模式概述

代理模式的英文叫做Proxy或Surrogate,中文都可譯成"代理"。所謂代理,就是一個人或者一個機構代表另一個人或者另一個機構采取行動。在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。

代理模式是常用的結構型設計模式之一,當無法直接訪問某個對象或訪問某個對象存在困難時可以通過一個代理對象來間接訪問,為了保證客戶端使用的透明性,所訪問的真實對象與代理對象需要實現相同的接口。代理(Proxy)模式給某一個代理模式是一種對象結構型模式。在代理模式中引入了一個新的代理對象,代理對象在客戶端對象和目標對象之間起到中介的作用,它去掉客戶不能看到的內容和服務或者增添客戶需要的額外的新服務。

二、代理模式的種類

如果按照使用目的來劃分,代理有以下幾種:

遠程(Remote)代理:為一個位于不同的地址空間的對象提供一個局域代表對象。這個不同的地址空間可以是在本機器中,也可是在另一臺機器中。遠程代理又叫做大使(Ambassador)。

虛擬(Virtual)代理:根據需要創建一個資源消耗較大的對象,使得此對象只在需要時才會被真正創建。

Copy-on-Write代理:虛擬代理的一種。把復制(克隆)拖延到只有在客戶端需要時,才真正采取行動。

保護(Protect or Access)代理:控制對一個對象的訪問,如果需要,可以給不同的用戶提供不同級別的使用權限。

Cache代理:為某一個目標操作的結果提供臨時的存儲空間,以便多個客戶端可以共享這些結果。

防火墻(Firewall)代理:保護目標,不讓惡意用戶接近。

同步化(Synchronization)代理:使幾個用戶能夠同時使用一個對象而沒有沖突。

智能引用(Smart Reference)代理:當一個對象被引用時,提供一些額外的操作,比如將對此對象調用的次數記錄下來等。

在所有種類的代理模式中,虛擬(Virtual)代理、遠程(Remote)代理、智能引用代理(Smart Reference Proxy)和保護(Protect or Access)代理是最為常見的代理模式。

三、遠程代理的例子

Achilles是一個用來測試網站的安全性能的工具軟件。Achilles相當于位于客戶端的的一個桌面代理服務器,在一個HTTP過程里起到一個中間人的作用,但是Achilles與通常的代理服務器又有不同。Achilles截獲雙向的通信數據,使得Achilles軟件的用戶可以改變來自和發往網絡服務器的數據,甚至可以攔截并修改SSL通訊。另外一個例子就是Windows的快捷方式。快捷方式是它所引用的程序的一個代理。

四、代理模式結構與實現

代理模式的結構比較簡單,其核心是代理類,為了讓客戶端能夠一致性地對待真實對象和代理對象,在代理模式中引入了抽象層。

代理模式包含如下三個角色:

Subject(抽象主題角色):它聲明了真實主題和代理主題的共同接口,這樣一來在任何使用真實主題的地方都可以使用代理主題,客戶端通常需要針對抽象主題角色進行編程。

Proxy(代理主題角色):它包含了對真實主題的引用,從而可以在任何時候操作真實主題對象;在代理主題角色中提供一個與真實主題角色相同的接口,以便在任何時候都可以替代真實主題;代理主題角色還可以控制對真實主題的使用,負責在需要的時候創建和刪除真實主題對象,并對真實主題對象的使用加以約束。通常,在代理主題角色中,客戶端在調用所引用的真實主題操作之前或之后還需要執行其他操作,而不僅僅是單純調用真實主題對象中的操作。

在實際開發過程中,代理類的實現比上述代碼要復雜很多,代理模式根據其目的和實現方式不同可分為很多種類。

參考文獻

[1] 林舒萍,羅鍵.設計模式的應用研究[J]. 計算機工程與設計. 2005(11)

[2] 陳智.在VB.NET中使用設計模式[J]. 甘肅科技. 2006(10)

[3] 夏浩波.單例模式的設計與應用[J]. 電腦開發與應用. 2011(01)

[4]丁中文,王懷軍.在C#中使用設計模式科技創新導報[J]. 2007(12)

主站蜘蛛池模板: 欧美中文字幕在线视频 | 污视频日本| 亚洲精品欧美重口| av在线5g无码天天| 国产在线八区| 成人一区在线| 国产在线无码一区二区三区| 人与鲁专区| 四虎成人精品| 99久久精品美女高潮喷水| 四虎国产永久在线观看| 亚洲制服丝袜第一页| 999国产精品永久免费视频精品久久| 中文字幕在线观看日本| 国产大片喷水在线在线视频| 在线a网站| 国产成人精品男人的天堂下载 | 欧美人与性动交a欧美精品| 中文精品久久久久国产网址| 国产在线第二页| 四虎成人免费毛片| 婷婷六月综合网| 国产自无码视频在线观看| a色毛片免费视频| 这里只有精品免费视频| 日韩毛片在线播放| 午夜精品一区二区蜜桃| 色哟哟色院91精品网站| 夜夜操国产| 熟妇无码人妻| 国产一级视频久久| 免费在线视频a| 亚洲首页国产精品丝袜| 免费一级成人毛片| 波多野结衣中文字幕一区二区| 久久精品国产电影| 国产精品短篇二区| 无码中字出轨中文人妻中文中| 天堂亚洲网| 日韩毛片免费视频| 成年人福利视频| 欧美性久久久久| 国产精品亚洲五月天高清| 亚洲AV一二三区无码AV蜜桃| 国产天天色| 精品91自产拍在线| 午夜国产小视频| 老司国产精品视频| a国产精品| 广东一级毛片| 国产h视频在线观看视频| 中国成人在线视频| 日韩精品毛片| 精品无码一区二区三区电影| 99热最新网址| 色综合天天视频在线观看| 欧美亚洲中文精品三区| 99视频精品在线观看| 欧美 国产 人人视频| 国产黑丝视频在线观看| 精品综合久久久久久97超人| 亚洲天堂.com| 国产日本一区二区三区| 国产精品三级av及在线观看| 99在线观看视频免费| 亚洲精选高清无码| 2021精品国产自在现线看| 在线免费看片a| 亚洲高清无在码在线无弹窗| 成人午夜在线播放| 国产高清无码第一十页在线观看| 国产免费怡红院视频| 一级成人欧美一区在线观看| 国产第四页| 欧美精品v| 成人午夜久久| 日韩国产黄色网站| 国产麻豆精品久久一二三| 青青草a国产免费观看| 四虎AV麻豆| 思思热精品在线8| 国产一区二区精品福利|