《Java與模式》學習筆記:設計模式——代理(Proxy)模式

代理模式是對象的結構模式。(JDK已經對動態代理提供了很好的支持)

1.定義:代理模式是給某一個對象提供一個代理對象,並由代理對象控制對原對象的引用。

2.代理模式的兩個作用:
 1)增強被代理對象的功能(爲代碼增加前後置操作)
 2)對被代理對象施加控制(如Filter)

3.代理的種類
 1)遠程(Remote)代理
 2)虛擬(Virtual)代理
 3)Copy-on-Write代理
 4)保護(Protect or Access)代理
 5)Cache代理
 6)防火牆(Firewall)代理
 7)同步化(Synchronization)代理
 8)智能引用(Smart Reference)代理
注意:一般比較常用的是虛擬,遠程,智能引用,保護等四種代理。

5.代理模式與適配器模式的區別
  適配器模式:強調改變接口
  代理模式:無法改變接口

6.代理模式與裝飾模式的區別
  裝飾模式:強調增強功能。
  代理模式:可以增強功能,也可以對對象施加控制。

注意:代理模式和裝飾模式在增強對象的功能方面有不同的特點,代理模式一般是在透明地,不讓客戶端感覺到的情況下, 悄悄地增強的對象的功能。而裝飾模式則是要求客戶端明確知道有那些功能可以選擇,並且明確地選擇想要增加的功能。(重要) 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章