面向方面编程AOP详解:术语、关键技术与织入
需积分: 1 94 浏览量
更新于2024-09-19
收藏 123KB DOC 举报
"AOP技术总结 2"
AOP(Aspect Oriented Programming)是面向方面编程,它由Xerox PARC的研究者在20世纪90年代提出,旨在解决传统编程中横切关注点与核心关注点混合的问题。AOP的核心在于将业务逻辑与通用服务,如日志、事务管理、安全等,进行分离,使得代码更易于维护和扩展。通过使用AOP,开发者可以创建被称为方面的独立模块来处理这些横切关注点。
1.1 AOP术语详解
1. **关注点(Concern)**: 关注点是软件系统中任何我们关心的功能或问题领域。比如,信用卡系统的核心关注点是交易处理,而系统级别的关注点则包括日志记录、事务管理、安全性等。AOP将系统级关注点称为横切关注点,因为它们会“横切”多个核心功能。
2. **连接点(Joinpoint)**: 连接点是程序执行中的特定点,可能是方法调用、对象构造或销毁等。它们是系统内在的、无需显式声明的点。连接点的选择和作用由切入点决定。
3. **切入点(Pointcut)**: 切入点是用于定义哪些连接点将被横切代码影响的规则。它是连接点的子集,通常由一个切入点表达式定义,该表达式可以是方法名、类名或其他条件,用于精确匹配连接点。
4. **通知(Advice)**: 通知是在满足切入点的连接点上执行的代码,即横切行为。它可以是前通知(在连接点之前执行)、后通知(之后执行)、环绕通知(包围整个连接点)等,实现了横切关注点的具体逻辑。
AOP的实现关键在于**织入(Weaving)**,即如何将方面的代码整合到目标程序中。织入可以在编译时、类加载时或运行时完成。不同织入时机有不同的优缺点,例如编译时织入能提高运行效率,但可能需要特殊的编译器支持;运行时织入则更灵活,但可能会牺牲一些性能。
织入方式主要包括:
- **编译时织入**: 通过源码转换或字节码操作在编译阶段将方面与目标代码结合。
- **类装载时织入**: 在类装载到JVM时进行织入,通常通过代理类实现。
- **运行时织入**: 在程序运行期间动态地将方面织入,通常使用动态代理实现。
AOP技术的应用广泛,如Spring框架中的AOP支持,使得开发者可以方便地实现日志记录、事务管理等横切关注点,而不必将它们硬编码到业务逻辑中。这不仅提高了代码的可读性和可维护性,也促进了代码的重用,降低了系统的复杂度。
2019-04-06 上传
2021-06-11 上传
2011-07-18 上传
2019-04-21 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
wancanjun
- 粉丝: 1
- 资源: 262
最新资源
- nRF905射频芯片文档
- symbian入门教程(创建工程)
- 嵌入式系统C语言编程
- 某某集团员工办公应用软件操作手册.pdf
- AIX_5L_Club_TestReport.doc
- T-SQL资料(很不错)
- 高校医院管理系统需求说明书
- 利用天语A615作为调制解调器让电脑上网操作方法.doc
- CCS2000的使用说明
- Beginning JavaScript with DOM Scripting and Ajax
- 高速缓冲存储器的功能
- zxld1350的英文资料
- 2440datasheet
- ASP.net 中用C#调用Java web service 图解教程
- 计算机组成原理习题答案
- redhat as3下安装oracle 9i