看Spring中的AOP发现很多资料上有先引入动态代理来慢慢引入Spring的AOP,AOP实现的策略有Dynamic Proxies
请问动态代理(Dynamic Proxies)和我们说的代理模式是一回事吗?
如果按照AOP技术帮助我们解决问题的角度——不破坏原有代码基础上增加其他功能的话,油漆工模式(Decorator)和适配器模(Adapter)式也可以实现
为什么要用代理模式呢?
感觉 Dynamic Proxies不是代理模式,为什么有些资料上都说是代理模式呢?
谢谢了!
请问动态代理(Dynamic Proxies)和我们说的代理模式是一回事吗?
如果按照AOP技术帮助我们解决问题的角度——不破坏原有代码基础上增加其他功能的话,油漆工模式(Decorator)和适配器模(Adapter)式也可以实现
为什么要用代理模式呢?
感觉 Dynamic Proxies不是代理模式,为什么有些资料上都说是代理模式呢?
谢谢了!
创建动态代理 :
前提:目标对象实现了一个接口.
target ----> A
Proxy.newProxyInstance();
|- 目标对象是谁 ( 为那个类创建代理 )
|- 目标对象的类加载器 : target.getClass().getClassLoader()
|- 目标对象实现了什么接口 ( 创建出来的代理对象是什么类型 )
|- target.getClass().getInterfaces()
|- 需要在目标对象身上增加什么功能.
|- InvocationHandler 的实现类,把要添加的附加功能编写在
这个实现类中
正如楼上这位先生给出的例子,要做目标对象上增加新功能
油漆工模式也是用来增加新功能的,为什么不选用油漆工模式呢?