设计模式学习笔记之-代理模式
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
? ? ? 代理模式中,客戶不會直接調(diào)用目標(biāo)對象而是通過一個代碼對象,客戶調(diào)用代理對象代理對象去調(diào)用目標(biāo)對象,起到對象與對象間的隔離作用。有時候我么不想直接訪問目標(biāo)對象,有時候我們不能直接訪問目標(biāo)對象這時候就需要一個代理對象來代替我們訪問目標(biāo)對象了。
簡單的例子,VPN,我們要訪問外網(wǎng)資源由于種種原因不能訪問,我們可以通過一個代理服務(wù)器,而代理服務(wù)器可以訪問外網(wǎng),我們通過訪問代理服務(wù)器來簡介訪問外網(wǎng),我們不需要知道代理服務(wù)器是如何具體訪問外網(wǎng)只要它能滿足我們的要求即可。
? ?代理模式通常是通過一個代理對象來持有對目標(biāo)對象的引用來完成對目標(biāo)對象的代理。類圖如下(摘自互聯(lián)網(wǎng)):
? ? ? ? ? ? ? ? ?
代理模式通過跟裝飾器模式非常像,代理模式更加關(guān)注的是對象的訪問控制,而裝飾器模式關(guān)注的是對對象的增強(qiáng),代理模式通過會直接在代理對象中持有目標(biāo)對象的引用,而裝飾器模式通常需要傳入目標(biāo)對象的引用,代理模式代理對象與目標(biāo)對象的關(guān)系在編譯器就確定了,而裝飾器模式裝飾器與目標(biāo)對象其實是在運(yùn)行期確定的。
轉(zhuǎn)載于:https://my.oschina.net/wenbo123/blog/1630111
總結(jié)
以上是生活随笔為你收集整理的设计模式学习笔记之-代理模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玩具版VR盒子没玩够?小米正式开放高端V
- 下一篇: [转].Net实现本地化简易教程