国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

代理模式

2019-11-14 09:28:20
字體:
來源:轉載
供稿:網友

PRoxy,為其他對象提供一種代理以控制對這個對象的訪問。

abstract class Subject{    public abstract void Request();}
class RealSubject extends Subject{    @override    public void Request()    { 真實請求的代碼實現;}}
class Proxy extends Subject{    Subject realSubject;    @override    public void Request()    {    if (realSubject == null)    realSubject = new RealSubject();    realSubject.Request();    }}
main(){    Proxy proxy = new Proxy();    proxy.Request();}

代理模式就是在訪問對象時引入一定程度的間接性,因為這種間接性,可以附加多種用途。

 

代理模式的應用場景:

1、遠程代理:

為一個對象在不同的地址空間提供局部代表。這樣可以隱藏一個對象存在于不同地址空間的事實。

例:在應用程序中加入一個Web引用,引用一個WebService,此時會在項目中生成一個WebService的文件夾和一些文件,其實它們就是代理,這就使得客戶端程序調用代理就可以解決遠程訪問的問題。

 

2、虛擬代理:

根據需要創建開銷很大的對象。通過它來存放實例化需要很長時間的真實對象。

例:打開很大的HTML網頁時,里面的圖片是一張一張加載的。那些未打開的圖片框,就是通過虛擬代理來替代了真實的圖片,此時代理存儲了真實圖片的路徑和尺寸。

 

3、安全代理:

控制真實對象訪問時的權限。

 

4、智能指引:

當調用真實的對象時,代理處理另外一些事。

例:計算真實對象的引用次數;當第一次引用一個持久對象時,將其裝入內存;在訪問一個實際對象前,檢查是否已經鎖定它,以確保其他對象不能改變它。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平利县| 临沂市| 青海省| 漳州市| 财经| 德安县| 英德市| 垣曲县| 建宁县| 柘城县| 青岛市| 修水县| 阳信县| 安吉县| 房产| 高州市| 安陆市| 阿合奇县| 潞西市| 平湖市| 金沙县| 平定县| 许昌市| 海晏县| 察隅县| 阳原县| 红桥区| 武强县| 和硕县| 钦州市| 新兴县| 阳朔县| 灵石县| 都匀市| 大足县| 什邡市| 常德市| 古浪县| 读书| 攀枝花市| 农安县|