最新回答 / 慕慕1768425
從目的上區分:裝飾者模式的目的是想要增強自身能力,也就是說這個能力是我想要的,很樂意接受的,并且會因此去學習。 代理模式是我需要這個功能,但是這個功能不值得我花時間去學習, 只要完成目的就行了,就像明星和經濟人一樣,明星自己不需要去學習怎么拉贊助,拉廣告,有經濟人去干就行了,我只管唱歌。所以,裝飾者:明星自己去學習拉廣告,拉贊助。代理模式:明星找經濟人去干 * ?靜態代理和裝飾者模式的代碼一樣,你可以理解為,行為方式一樣,但是目的不一樣。
2015-08-19
講師回答 / David
您好:handler類中public Object invoke(Object proxy, Method method, Object[] args)...方法,我們使用“method.invoke(target);”而非使用“method.invoke(proxy);”是通過反射的機制調用目標對象的方法。視頻中模擬JDk動態代理,所以講proxy也作為入參,雖然沒有使用到proxy,并不意味著JDK動態代理它沒有被使用到,有興趣可以研究一下源碼內容。
2015-02-11