Java的代理有两种:静态代理和动态代理,动态代理又分为 基于jdk的动态代理 和基于cglib的动态代理 ,两者都是通过动态生成代理类的方法实现的,但是基于jdk的动态代理需要委托类实现接口,基于cglib的动态代理不要求委托类实现接口。接下来主要分析一下基于jdk的动态代理的实现原理。一 动态代...
分类:
编程语言 时间:
2014-07-07 11:40:43
阅读次数:
321
没事的时候翻看lang.reflect包下的代码,发现有两部分内容:涉及反射和动态代理。很多地方都可以看到动态代理的影子,只是一直没仔细看下。在学习之前,先提出几个问题,带着问题来看代码:1.什么是动态代理?2.为什么使用动态代理?3.使用它有哪些好处?4.哪些地方需要动态代理?----------...
分类:
编程语言 时间:
2014-07-07 08:29:10
阅读次数:
219
动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了实际对象。客户不知道它是与代理打交道还是与实际对象打交道。 动态代理主要包含以下角色: 动态代...
分类:
其他好文 时间:
2014-07-02 20:47:05
阅读次数:
120
本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢?原因:1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者的区别是什么呢?
2,通过学习动态代理了解到动态代理是一种符合AOP设计思想的技术,那就更有必要总结了!下面是我对它们的理解!
代理Proxy:
Proxy代理模式是一种结构型设计模式,...
分类:
编程语言 时间:
2014-07-02 07:37:37
阅读次数:
265
1.1. java动态代理java.lang.reflect包下的Proxy(创建代理对象)和InvocationHandler(调用转发)两个类代理对象代表目标对象(target)执行相应的活动静态代理:代理对象实现目标对象一致的接口,实现代理接口和调用转发 (不推荐使用)在调用前后的附加逻辑,体...
分类:
其他好文 时间:
2014-07-01 11:41:22
阅读次数:
189
学过设计模式,用过设计模式,但是转瞬又忘了,这些模式到底是什么,到底是干什么用,到底是用在哪里的.看DRP的时候,又介绍了代理模式,介绍了静态代理,动态代理;当时就觉得代理模式,就像是在客户端和真实的主题类中加了一个隔层,就像是解耦,加了一个中间层.
之前学习的时候,感觉那个例子举得不好,我一直不明白为什么要用代理.他的例子说了一个人小明要追小美,但是小明拜托小代去帮忙追小美,...
分类:
其他好文 时间:
2014-07-01 11:21:54
阅读次数:
205
学过设计模式,用过设计模式,但是转瞬又忘了,这些模式到底是什么,到底是干什么用,到底是用在哪里的.看DRP的时候,又介绍了代理模式,介绍了静态代理,动态代理;当时就觉得代理模式,就像是在客户端和真实的主题类中加了一个隔层,就像是解耦,加了一个中间层.
之前学习的时候,感觉那个例子举得不好,我一直不明白为什么要用代理.他的例子说了一个人小明要追小美,但是小明拜托小代去帮忙追小美,...
分类:
其他好文 时间:
2014-06-30 17:58:08
阅读次数:
219
using System; using System.Linq; using System.Reflection; using System.Reflection.Emit; public sealed class DynamicProxy { pri...
分类:
其他好文 时间:
2014-06-26 13:08:59
阅读次数:
185
@Test public void test(){ //new UserImpl(); /* ProxyT proxy=new ProxyT(new UserImpl()); proxy.add(); proxy.update();*/ final User user=new UserI...
分类:
编程语言 时间:
2014-06-26 00:14:14
阅读次数:
260
动态代理这个名词就不用多说了,是经典的二十三种设计模式中的一种。代理模式也不多说,现在聊聊动态代理的方式。 第一种方式是JDK自带方式,原理是在程序运行时,运用反射机制动态创建而成,不过它有一个先决条件就是被代理对象必须是实现某个接口的对象才能代理。看代码: public interface...
分类:
编程语言 时间:
2014-06-25 23:15:21
阅读次数:
300