第80章(1 / 1)

小A:“代理分為哪些類?”

大B:“代理分為靜態代理與動態代理。”

小A:“按功能怎麼分類哩?”

大B:“按功能將代理的組成類分為:標的類、標的接口、攔截類、耦合類。”

下麵以具本代碼舉例說明。

1、靜態與動態代理的公共部分

*TODO標的類

*TODO標的接口

*TODO標的接口

intdo2;

*TODO攔載類

2、靜態代理特征部分

*TODO耦合類(耦合是為了解耦)

//調用真實的標的類的方法之前置入攔載類的方法

//調用真實的標的類的方法

//調用真實的標的類的方法之後置入攔載類的方法

*TODO靜態代理(這理隻簡單地講一下,著重講動態代理)

3、動態代理特征部分

*TODO耦合類(耦合是為了解耦)

//更改參數

//調用真實的標的類的方法之前置入攔載類的方法

//調用真實的標的類的方法

//調用真實的標的類的方法之後置入攔載類的方法

*TODO測試類

*logic1與logic的共同邏輯

//對目標接口Target1代理的調用

(“對目標接口Target1代理的調用”);

//對目標接口Target2的調用

(“對目標接口Target2代理的調用”);

*正常

*參數1:類加載器(個人感覺這個參數有點多佘,這個參數完成可以去掉,不知當初他們為何要設這個參數幹麼)

*參數2:代理的標的接口。就是說,你要代理的標的類可能會實現多個接口,你可以有選擇性地代理這些接口

*參數3:InvocationHandler的實現類.InvocationHandler接口做用就是解耦,解開標的類與攔載類之間的耦合,使它們之間可以互不關心

*將會出異常,因為他沒有在參數中聲時自己要調用Target2接口,而後麵卻又去調用

*參數1:類加載器(個人感覺這個參數有點多佘,這個參數完成可以去掉,不知當初他們為何要設這個參數幹麼)

*參數2:代理的標的接口。就是說,你要代理的標的類可能會實現多個接口,你可以有選擇性地代理這些接口

*參數3:InvocationHandler的實現類.InvocationHandler接口做用就是解耦,解開標的類與攔載類之間的耦合,使它們之間可以互不關心

logic1;

logic2;

(本章完)