AOP技术
来源:互联网 发布:性 婚姻 知乎 编辑:程序博客网 时间:2024/06/16 19:01
Aspect Oriented Programming(AOP)-面向切面编程是近来较为热门的一个话题。
一、AOP与OOP的比较
AOP与OOP在字面上虽然非常类似,但却是面向不同领域的两种设计思想。OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。这两种设计思想在目标上有着本质的差异。
二、AOP中几个比较重要的概念
1. 切面(Aspect)
切面,对象操作过程中的截面。这可能是AOP中最关键的一个术语,指的是业务处理过程中的某个步骤或阶段。通过切面,我们可以将系统中各个不同层次上的问题隔离开来,实现统一集约式处理,各切面只需集中于自己领域内的逻辑实现。这一方面使得开发逻辑更加清晰,专业化分工更加易于进行;另一方面,由于切面的隔离,降低了耦合性,我们就可以在不同的应用中将各个切面组合使用,从而使得代码可重用性大大增强。
2. 连接点(JoinPoint)
程序运行过程中的某个阶段点。如某个方法调用,或者某个异常被抛出
3. 处理逻辑(Advice)
在某个连接点所采用的处理逻辑。处理逻辑的调用模式通常有三种:
i. Around
在连接点前后插入预处理过程和后处理过程。
ii. Before
仅在连接点之前插入预处理过程。
iii. Throw
在连接点抛出异常时进行异常处理。
4. 切点(PointCut)
一系列连接点的集合,它指明处理方式(Advice)将在何时被触发。
对于AOP组件而言,很重要的一点就是源码组成无关性。所谓源码组成无关性,体现在具体设计中就是AOP组件必须与应用代码无关,简单来讲,就是应用代码可以脱离AOP组件独立编译。为了实现源码组成无关性,AOP往往通过预编译方式(如AspectJ)和运行期动态代理模式(如Spring AOP 和JBoss AOP)实现。
- AOP技术
- AOP技术
- AOP技术
- AOP技术
- aop技术
- 移:AOP技术原理
- AOP技术基础
- AOP技术基础
- AOP技术基础
- AOP技术基础
- AOP技术基础
- AOP技术基础
- AOP技术基础
- 黑马程序员-AOP技术
- AOP技术基础
- AOP技术基础
- AOP技术基础
- AOP技术基础
- 全局程序集缓存GAC
- vs2008+cuda配置
- uboot搬运代码以及uboot.lds
- [Android][清水笔记]多个Activity跳转时其状态方法的调用顺序
- MIPS u-boot 中code Relocate流程分析
- AOP技术
- Android_UBOOT分析(二)执行顺序
- 写文章 标题
- 重要的技术文章
- 截取文件名
- LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
- test
- C# 添加右键菜单
- 如何创建新 Silverlight 项目