日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

設計模式之五 --- 代理(Proxy)模式

系統 2169 0

【1】基本概念

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

【2】簡單分析

我們先看一下該設計模式的UML結構圖:

設計模式之五 --- 代理(Proxy)模式

我們通過上面的結構圖可以看到:

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

RealSubject類:定義Proxy所代表的真實實體。

Proxy類:保存一個引用使得代理可以訪問實體,并提供一個與Subject的接口相同的接口,這樣代理就可以用來替代實體。

【3】如何用java語言實現該模式

我們先看下代碼的結構圖,該模式的代碼實現比較簡單:

設計模式之五 --- 代理(Proxy)模式

3.1 Subject類:Image.java

3.2 RealSubject類:RealImage.java

3.3 Proxy類:ProxyImage.java

3.4 客戶端測試類:ProxyClient.java

【4】程序運行結果:

總結下代理模式的應用場合:

第一:遠程代理,也就是為一個對象在不同的地址空間提供局部代表,這樣可以隱藏一個對象存在于不同地址空間的事實。

第二:虛擬代理,是根據需要創建開銷很大的對象,通過它來存放實例化需要很長時間的真實對象。

第三:安全代理,用來控制真實對象訪問時的權限。

第四:智能引用,是指當調用真實對象時,代理處理另外一些事。本文的例子就是采用了這一點。


設計模式之五 --- 代理(Proxy)模式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 泰宁县| 张北县| 于都县| 高安市| 鞍山市| 襄垣县| 邹城市| 临漳县| 龙泉市| 浦北县| 巩义市| 曲水县| 平阳县| 固始县| 邵阳市| 莆田市| 嘉兴市| 拉孜县| 阳春市| 墨脱县| 招远市| 铁力市| 卓资县| 田东县| 安泽县| 肥乡县| 鹰潭市| 边坝县| 盘山县| 安化县| 罗山县| 渝中区| 临城县| 马鞍山市| 周宁县| 芒康县| 桂阳县| 济阳县| 闸北区| 鄱阳县| 太仓市|