亂學設計模式代理模式
來源:懂視網
責編:小采
時間:2020-11-09 12:58:57
亂學設計模式代理模式
亂學設計模式代理模式:在亂學裝飾模式的時候給出了一篇參考文章,是對比裝飾模式和代理模式的。自然,這就是OneCoder現在需要理解的問題。先復習一下設計模式6大原則:設計模式的六大原則(引自:http://zz563143188.iteye.com/blog/1847029) 1、開閉原則(Open Cl
導讀亂學設計模式代理模式:在亂學裝飾模式的時候給出了一篇參考文章,是對比裝飾模式和代理模式的。自然,這就是OneCoder現在需要理解的問題。先復習一下設計模式6大原則:設計模式的六大原則(引自:http://zz563143188.iteye.com/blog/1847029) 1、開閉原則(Open Cl
代理模式:為其他對象提供一種代理以控制對這個對象的訪問。
還是來個圖表示一下:

這里設想了一個簡單的賣房子的場景。在沒有代理的情況下,房子的擁有者想要賣房子,需要自己發布信息,帶買家看房,辦理交接手續等事情。這時候房主發現這樣太麻煩了。于是他請來了代理HouseProxy,代理負責除必須房主參加的辦理手續之外的所有事情。
這正是代理模式應用場景中的:智能指引,指當調用真實的對象時,代理處理另外的一些事情。
對比裝飾模式,感覺非常相近,所以才會有之前一直提到的文章。代理模式感覺是一個代理處理了所有其他的事情,裝飾模式是需要一系列各種各種的“能人”,各取所長。
實現代碼很簡單了:
/**
* Created by OneCoder on 2014/11/24.
*/
public class HouseOwner implements ISellHouse {
@Override
public void sellHouse() {
System.out.println("Sell my house.") ;
}
}
/**
* Created by OneCoder on 2014/11/24.
*/
public class HouseProxy implements ISellHouse {
private ISellHouse seller;
public HouseProxy(ISellHouse seller) {
this.seller = seller ;
}
@Override
public void sellHouse() {
System.out.println("Proxy: Publish the information.");
System. out.println("Proxy: Contact the buyer.");
seller.sellHouse();
System. out.println("Proxy: Get commision.");
}
}
似乎沒什么可說的,OneCoder自我感覺是可以區分和使用這兩種設計模式了,目的達到了。
PS:
1、最近博客更新的比較慢,家里的事情比較多,不過學習是一定要堅持的,哪怕是龜兔賽跑,我也在前進。
2、博客最近流量超標(15G/月),原因是遭到來自IP:114.215.138.184(愛論文網?)的不間斷爬取。精力有限,經濟有限(已經又充了流量。),所以,OneCoder準備慢慢把博客完全搬家到github.io上,這個過程也許很漫長。。
爬蟲可以。。沒完沒了的爬。就不必了吧。。
原文地址:亂學設計模式——代理模式, 感謝原作者分享。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
亂學設計模式代理模式
亂學設計模式代理模式:在亂學裝飾模式的時候給出了一篇參考文章,是對比裝飾模式和代理模式的。自然,這就是OneCoder現在需要理解的問題。先復習一下設計模式6大原則:設計模式的六大原則(引自:http://zz563143188.iteye.com/blog/1847029) 1、開閉原則(Open Cl