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

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

代理模式

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

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、智能指引:

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇阳县| 浦北县| 凤翔县| 温宿县| 濉溪县| 寿宁县| 工布江达县| 彭州市| 东阳市| 徐闻县| 新昌县| 湘潭县| 乌兰县| 泽库县| 吉木乃县| 香格里拉县| 四川省| 武定县| 江油市| 灵台县| 陇南市| 临邑县| 北宁市| 三台县| 万年县| 西贡区| 泰安市| 雷山县| 新乐市| 乳山市| 开鲁县| 五大连池市| 怀来县| 平乡县| 海安县| 甘谷县| 台南市| 抚顺市| 慈利县| 宜君县| 山西省|