代理模式 动态代理 AOP
2015-12-01 01:41
190 查看
记录一下自己对动态代理和AOP的理解
代理模式是为其他对象提供一个代理来控制这个对象。
http://yangguangfu.iteye.com/blog/815787 这个博客举例讲解得比较清楚,如有不明白的地方可以查阅。
动态代理:借助于JVM的支持,可以在运行时动态生成代理类(“代理角色”),我们就可以解决代理模式中代码膨胀的问题,使用了动态代理后,“代理角色”将不用手动生成,而由JVM在运行时,通过指定类加载器、接口数组、调用处理程序这3个参数来动态生成。
从JDK1.3开始,java中引入了动态代理机制。相关的接口或类有如下两个:InvocationHandler和Proxy,都位于java.lang.reflect包下。
动态代理:通过实现InvocationHandler接口创建自己的调用处理器,通过为Proxy类指定ClassLoader对象和一组interface创建动态代理类,通过反射机制获取动态代理类的构造函数,其参数类型是调用处理器接口类型,通过构造函数创建代理类实例,此时需将调用处理器对象作为参数被传入。
AOP:面向切面编程
向目标程序的pointcut织入一段代码。pointcut与joinpoint是一对多的关系,joinpoint表示程序的方法调用前、方法调用后、方法抛出异常时以及方法调用前后。
代理模式是为其他对象提供一个代理来控制这个对象。
http://yangguangfu.iteye.com/blog/815787 这个博客举例讲解得比较清楚,如有不明白的地方可以查阅。
动态代理:借助于JVM的支持,可以在运行时动态生成代理类(“代理角色”),我们就可以解决代理模式中代码膨胀的问题,使用了动态代理后,“代理角色”将不用手动生成,而由JVM在运行时,通过指定类加载器、接口数组、调用处理程序这3个参数来动态生成。
从JDK1.3开始,java中引入了动态代理机制。相关的接口或类有如下两个:InvocationHandler和Proxy,都位于java.lang.reflect包下。
动态代理:通过实现InvocationHandler接口创建自己的调用处理器,通过为Proxy类指定ClassLoader对象和一组interface创建动态代理类,通过反射机制获取动态代理类的构造函数,其参数类型是调用处理器接口类型,通过构造函数创建代理类实例,此时需将调用处理器对象作为参数被传入。
AOP:面向切面编程
向目标程序的pointcut织入一段代码。pointcut与joinpoint是一对多的关系,joinpoint表示程序的方法调用前、方法调用后、方法抛出异常时以及方法调用前后。
相关文章推荐
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- 依附品牌做代理 把握创业新机遇
- 代理区独立模式的说明
- yui3的AOP(面向切面编程)和OOP(面向对象编程)
- http代理相关知识分析
- PHP设计模式之装饰者模式代码实例
- php设计模式之单例模式实例分析
- 介绍php设计模式中的工厂模式
- PHP设计模式之适配器模式代码实例
- 动态代理的5模式使用示例和Mixin模式
- 深入浅出23种设计模式
- 浅谈c#设计模式之单一原则
- JavaScript AOP编程实例
- C#设计模式之观察者模式实例讲解