最新回答 / 慕慕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