学习笔记
来源:互联网 发布:淘宝双十一的由来 编辑:程序博客网 时间:2024/04/28 15:39
今天太高兴了,总算明白动态代理、AOP的思想了......哈哈。
我之前学过代理设计模式,以前写DAO时,就是用的静态代理,Bean工厂类也是使用反射、属性配置文件生成Bean类的。但是我对动态代理、AOP一直都是可望而不可及啊,吸收不了它们的思想,今天可是收获不小啊。
我现在对动态代理的理解是:利用JDK提供的API(一个实现了一个或多个接口的类),生成动态类,此动态类只有一个有参构造方法,参数InvocationHendler类型的,也就是说动态类会中有一个成员字段是InvocationHendler类型的,此时调用动态类的任何方法,就是调用动态类中的InvocationHendler类型的字段的invoke方法(但Java语言规范中规定:从Object类中继承的方法中只有equals、hashCode、toString满足此约定,例如:getClass方法不会遵守此约定。),可以在invoke方法中添加动态类的目标类(target自己定义的类,替代动态类,通常与动态类实现了相同的接口)和所需要的交叉业务类(advice自己定义的类)。的结合代理设计模式的思想,将动态类作为真实类,实现了InvocationHandler接口的类作为代理类。这样就可以在代理类的invoke方法中可以做一些额外的事情(“额外的事情”通常是封装到的交叉业务(advice类)中)。
我现在对AOP的理解是:面向方面的编程(面向切面编程)。多个模块中都存在的业务,称为交叉业务。AOP就是将将交叉业务的代码封装在一个类中,以对象的形式传递到需要此交叉业务的的模块中。
- 学习笔记?
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- Ubuntu10.10配置以及软件安装记录
- Linux Kernel and Android 休眠与唤醒
- 设计模式精讲
- C/S 与 B/S 比较
- ASIC设计规范
- 学习笔记
- ERROR: SAS Syntax Editor control is not installed.
- 大型网站系统架构分析
- SQL SERVER 2005 加密方法
- BW:监控 TCODE
- 菜谱
- 功能丰富的 Perl: Amazon S3 上的储存管理 (用于管理 S3 bucket 及其内容的 3 个 CPAN)
- 详解UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)
- 关于DB2的Q复制产品问题的正解!